現在、マルチスレッドのJavaソケットサーバーを作成しようとしています。 私は「IDを使用して「プライベート」メッセージを送信することができます; MESSAGE;。私のクライアントにマルチスレッドのJavaサーバーを使用してクライアントIDを取得
をメッセージが右クライアントに到着するが、問題は、サーバーは、常にすべてのメッセージは、同じクライアント(クライアントID 0から来ることを表示するということです)、しかし、彼らにはありません。
は、ここに私のサーバーの http://pastebin.com/Dzh5YnvjあなたClientHandler
コードで
21:02:55 [DSS-Server] [Client#0] connected.
21:02:58 [DSS-Server] [Client#1] connected.
21:13:11 [DSS-Server] [Client#0] > 0;This is send from client 0
21:13:18 [DSS-Server] [Client#0] > 1;This also
21:13:30 [DSS-Server] [Client#0] > 0;But this comes from client 1
お客様のクライアントコードも掲載できますか?そして、サーバーはクライアントからどのようにメッセージを受信していますか? – anacron
私は情報の半分を忘れてしまった:/ここにクライアントハンドラがあるhttp://pastebin.com/z7bdX4sLそしてここでは基本的にクライアントhttp://pastebin.com/KwxkpGCW –
@ AlonDattnerあなたのコンストラクタはその例外をキャッチすべきではありませんそれを投げるべきです。なんらかの理由で 'BufferedReader'を構築できない場合、Entureオブジェクトは役に立たないので、' new ClientHandler() 'の呼び出し元に返すことは無意味です。 – EJP