2012-07-11 58 views
0

所以我一直在为这个模板服务器建立一个小型服务器来实践。 http://www.kieser.net/linux/java_server.html发送到所有功能。多线程服务器

我得到了工作客户端,但我很难弄清楚如何从客户端发送消息到服务器,并从该线程发送到所有其他客户端而不是只有一个客户端。

任何人都可以阐明我如何去做这件事吗?

+0

你尝试过这么远吗?当我做了一件类似的事情时,我保留了一个已创建的“doComs”对象列表,然后在整个列表中调用方法。从列表中删除doComs对象时通常会在单独的线程上发生 – 2012-07-11 09:02:45

+0

我尝试使用可以访问主类并通过连接到最后一个doCom创建的新输出流来发送内容的函数。但是这导致第一个客户端发送给任何客户端,但它不会接收来自其他客户端的数据。我喜欢你的doComs列表。你能详细解释一下吗? – Smallbro 2012-07-11 09:08:48

+0

ok ..所以在服务器中,当你创建一个新的doCom对象时,它将它存储到列表中。 (但现在当存储/删除它时,其他线程可能会使用该列表以便避免并发修改异常,您将需要锁定列表)。当你在doCom中遇到异常时,你需要从列表中删除doCom对象,因为异常会暗示你不能与那个channed沟通 – 2012-07-11 09:26:36

回答

0

对此有读。这应该说明一切了很多比我好的人:P

http://www.dreamincode.net/forums/topic/259777-a-simple-chat-program-with-clientserver-gui-optional/

+0

从短暂略读这看起来非常好。当我回家后我尝试添加这种方法。这听起来很不错。谢谢。 – Smallbro 2012-07-11 09:56:11

+0

谢谢,这正是我所需要的。我只是跑它而且效果很好。 :D – Smallbro 2012-07-11 20:21:02

+0

不客气 – 2012-07-12 10:15:30