所以我一直在为这个模板服务器建立一个小型服务器来实践。 http://www.kieser.net/linux/java_server.html发送到所有功能。多线程服务器
我得到了工作客户端,但我很难弄清楚如何从客户端发送消息到服务器,并从该线程发送到所有其他客户端而不是只有一个客户端。
任何人都可以阐明我如何去做这件事吗?
所以我一直在为这个模板服务器建立一个小型服务器来实践。 http://www.kieser.net/linux/java_server.html发送到所有功能。多线程服务器
我得到了工作客户端,但我很难弄清楚如何从客户端发送消息到服务器,并从该线程发送到所有其他客户端而不是只有一个客户端。
任何人都可以阐明我如何去做这件事吗?
你尝试过这么远吗?当我做了一件类似的事情时,我保留了一个已创建的“doComs”对象列表,然后在整个列表中调用方法。从列表中删除doComs对象时通常会在单独的线程上发生 – 2012-07-11 09:02:45
我尝试使用可以访问主类并通过连接到最后一个doCom创建的新输出流来发送内容的函数。但是这导致第一个客户端发送给任何客户端,但它不会接收来自其他客户端的数据。我喜欢你的doComs列表。你能详细解释一下吗? – Smallbro 2012-07-11 09:08:48
ok ..所以在服务器中,当你创建一个新的doCom对象时,它将它存储到列表中。 (但现在当存储/删除它时,其他线程可能会使用该列表以便避免并发修改异常,您将需要锁定列表)。当你在doCom中遇到异常时,你需要从列表中删除doCom对象,因为异常会暗示你不能与那个channed沟通 – 2012-07-11 09:26:36