2017 ソフトウェア設計及び演習用の班Wiki
17::gr10::渡辺大輝
担当
サーバークライアント間の通信また、サーバーそのもの。
https://wiki.cis.iwate-u.ac.jp/svn/csd/17/g10/proj/server/
活動記録
6月2日 7回目
GTKがよくわからなくなったのでとりあえず、c言語の機能でユニキャストでTCPで同期式な双方向通信をできるようにした。
クライアントが送ったメッセージをそのまま返すサーバーを作った。
6月9日 8回目
GIOチャネルがよくわからないままに取り敢えずチャットできる感じになった。GTKで開かれたウィンドウ上ではなくターミナル上でのチャットになっている。(server/prot2)
別の日にちょこちょこいじって、関数を作りmain文の中身を減らした。
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