!!! プロジェクト名 simpleグループチャット! !!! プロジェクト説明 *LINEのようなトークルーム型チャットをしよう **シンプルなログイン方式 **複数人数に対応したトークルーム機能 **見やすくて使いやすいレイアウト *プログラムの流れ **輪を作る方法 ***1人で作る方法 → 実行コマンドのみ(./wine) ***2人で作る方法 → 実行コマンドにチャットをしたい相手のホストネームかIPアドレスを付け加える(例 ./wine esutXXXX または ./wine xxx.xxx.xxx.xxx) **1対1のチャットでは通信したい相手のIPアドレスを入力してチャット可能(例 ./chat_main xxx.xxx.xxx.xxx) **チャット内でのハンドルネームを入力しログイン **グループチャットを行う !!! モジュール分けとヘッダファイル *http://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2015/?p=15%3A%3Agr10%3A%3A%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%28%E6%9C%80%E7%B5%82%29{ログインウィンドウ} *http://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2015/?p=15%3A%3Agr10%3A%3A%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%28%E6%9C%80%E7%B5%82%29{チャットウィンドウ} *http://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2015/?p=15%3A%3Agr10%3A%3A%E9%80%9A%E4%BF%A1%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB{通信モジュール} !!!動作スクリーンショット !!ログインウィンドウ <<{login.png}
!!チャットウィンドウ <<{chat.png} !!!個個人の感想 !!桃井秋義 !!沢田祐介  ログインウィンドウのボタンやエントリウィジットの設置については簡単に行えたが、入力した文字を次のウィンドウにどう渡したらいいか結構悩んでしまった。また, 次のウィンドウに移動するときに前のウィンドウが消えず手こずってしまったが最終的には完成できたのでよかった。作りたいと思う機能はたくさん思いついたが、それをどのようにすれば実現できるのかが思いつかず難しいと思った。自分が作ったプログラムが目に見えて結果となるので楽しかった。授業の中盤あたりでは本当にチャットのプログラムができるのか心配であったが、最低限のチャットはできたのが何より良かった。チャットの要になる通信を担当した辛さんには感謝です。 !!平井諒  チャットウィンドウはモジュール分けの段階で、通信部分とのやり取りについて明確に確認できていなかった。通信モジュールがどのような処理をするのか予想が難しく、半ば見切り発車な部分があり、どのようにメッセージをやり取りするかが本当に苦労した。他にも様々な問題に直面して、その度に頭を悩ませることになったが、ひとつずつ自分で調べ、解決していくのも苦ではなかったし、最終的に作りたいものが作れてよかったと思う。実際に形になる部分だったので、それがモチベーションにつながり、楽しく取り組むことができた。 !!辛承勳 段階できに通信機能をupgradeしていく過程がたのしかったです。最初はターミナルで文字1つだけを送信できるように、 次は文字列1つ、あとは複数の文字列のやりとり、そしてGTKと融合させた通信モデル、二人だけのチャットから、初期設定が必要だがリング型の連結を設定してその上でデータを循環させて3人以上の複数人数のチャット(これで輪INEという名前にしました)、そして、最後には自動的に連結させたり、切ったり、途中抜けたり、途中参加もできる、より使いやすい通信モジュールをつくることが出来ました。やっぱり、モジュール分けが大事だっていうのはある程度先輩もゆってたし、予想はしてたんですが、そもそもこうやってグループで作った経験がなかったので、他の人のプログラムと合体させるのが難しかったです。最初はちゃんとライブラリー化して、Makefileもちゃんと整えて作っていくつもりだったんですが、途中から勝手に他の人のプログラムを変えたり、グローバル変数を宣言して、あっちこっちで使ったり、Makefileさえみても、完成したプログラムはただObjectファイルをくっつけて作ったプログラムだというのがわかります。 あとは、個人的に苦労したのは、決まったサーバがないんで、3人以上のチャットの時どうやって繋げてメッセージを転送するかが結構苦労したし、そして、最後に自動的に輪を作ってくれる通信モデルを作るには、一人でテストができなくてみんなのたすけをもらい完成させることができました。完璧ではないがある程度チャットができるプログラムを完成させることができて、嬉しいです。