【发布时间】:2017-01-21 18:50:02
【问题描述】:
我目前正在尝试创建一个多线程 Java 套接字服务器。 我可以在我的客户中使用“ID;MESSAGE;”发送“私人”消息。
消息到达正确的客户端,但问题是服务器总是显示所有消息都来自同一个客户端(客户端 ID 0),但事实并非如此。
这是我的服务器http://pastebin.com/Dzh5Ynvj
服务器输出
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
【问题讨论】:
-
您也可以发布您的客户代码吗?服务器如何接收来自客户端的消息?
-
天哪,我忘记了一半信息:/ 这是客户端处理程序pastebin.com/z7bdX4sL,这里基本上是客户端pastebin.com/KwxkpGCW
-
@AlonDattner 你的构造函数不应该捕获那个异常:它应该抛出它。如果
BufferedReader由于任何原因无法构造,enture对象就没有用了,所以让它返回给new ClientHandler()的调用者是没有意义的。 -
谢谢,我也要解决这个问题:)
标签: java multithreading sockets networking server