2017 ソフトウェア設計及び演習用の班Wiki

17::gr10::渡辺大輝

担当

サーバークライアント間の通信また、サーバーそのもの。
https://wiki.cis.iwate-u.ac.jp/svn/csd/17/g10/proj/server/

活動記録

5月26日 6回目

プロトタイピングが始まる。GTKを用いない1体1の一方向通信は成功した。次回はソケットについての理解をより深め、GTKを用いた双方向通信を実現したい.

6月2日 7回目

GTKがよくわからなくなったのでとりあえず、c言語の機能でユニキャストでTCPで同期式な双方向通信をできるようにした。
クライアントが送ったメッセージをそのまま返すサーバーを作った。

6月9日 8回目

GIOチャネルがよくわからないままに取り敢えずチャットできる感じになった。GTKで開かれたウィンドウ上ではなくターミナル上でのチャットになっている。(server/prot2)
別の日にちょこちょこいじって、関数を作りmain文の中身を減らした。

6月16日 中間発表

なんだかいろいろとあったが取り敢えず発表した。終わったあとにどんな関数がほしいかみたいな話をした。

6月23日

班長がいない。なんてことだ!

それはさておき、ユーザーデータとキャラクタの構造体を作った。ユーザーデータをいじるための関数も作成した。ながみねさんとFGOでフレンドになった。

7月7日

班長がいる!
サーバーの挙動はよい感じになった。同じルームにいる人にしかメッセージを送らないようにした。接続されてる人数とか出せるようにしようかな...
そういえばmsgとnameにセミコロンが入っているといろいろとまずいので入力時に気にするようにしなければならない。
proj/connect/ と proj/userdata/ のモジュールを作った。だいたいいい感じ。ブラックボックステストはした。

7月14日

何故か三人目からサーバーに無視される事件が発生した。みんな仲良くなるようによしなにした。
サーバーの基本的な機能は実装できた。ともきと少しだけ統合してみた。送信は多少のバグが出たものの、修正してできるようになった。来週は受信側の機能に挑戦したい。

7月28日

proj/main/に統合のための実験する実行ファイルを作成した。
まず、画面切り替えのためのテストをしてみた。 gtk_widget_hide_all()とgtk_widget_show_all()を使って、表示されるウィジェットを限定することによって画面遷移を実現した。
次にmain文の中から見えなければいけない関数がわからなかったのでそれをテストした。main文で必要になる関数はパッキングする関数だけで、コールバック関数は見えなくても正しく動作することが判明した。

そこで、main文の中では、パッキングする関数とウィンドウのセットアップ、パッキングしたウィジェットと、hide,showの初期設定だけで問題なく動作することがわかった。

というわけで、統合に向けて、タイトル、名前入力、部屋選択、部屋のセットアップをする関数を作ればうまく行きそうだ。 あと一週間でできるのか・・・?


最終更新日:2017/08/01 17:53:26