issues
search
kmansei
/
chatapp
0
stars
0
forks
source link
readme
動作確認
サーバー ./gradlew server:run クライアント ./gradlew client:run
実装
https://github.com/kmansei/chatapp/blob/main/server/src/main/java/chatapp/Server.java
サーバー実装
https://github.com/kmansei/chatapp/blob/main/client/src/main/java/chatapp/Client.java
クライアント実装
使用ライブラリ, ツール
Gradle
Netty
JUnit
設計
当初
クライアントがチャットサーバーと接続されるたびにクライアント側及びサーバー側でスレッド生成
クライアント
スレッドはサーバーからのメッセージを受信してコンソールに送信
メインスレッドはユーザーの入力待ち
サーバー
スレッドはクライアントからの入力メッセージを待ち受け
メインスレッドは新たなクライアントからの接続を待ち受ける
改善
2044de7
クライアントが退室後のリソース解放が正しく出来ていなかったので修正
eaaa1f4
ExecutorServiceを使うように修正
8e4237d
テストコードの追加、リファクタリング
17b0769
クライアント退室後にサーバーサイドのclienthandlerのリソースが解放されているかのテスト
ab9d3a3
サーバー及びクライアントにてnioを使うように修正
実装にあたって下記の記事を参照
https://www.kimullaa.com/posts/201612081500/
https://jenkov.com/tutorials/java-nio/index.html
1a05eeb
Gradle導入
1bc94d
Netty導入
https://netty.io/wiki/user-guide-for-4.x.html#wiki-h3-8