【发布时间】:2011-03-07 15:32:15
【问题描述】:
我用 Java 编程已经有一段时间了,但以前从未处理过线程。在我的一堂课中,我们了解了易于使用但功能非常强大的 Socket 和 ServerSocket 类。我们制作了可以在同一台机器上相互通信的程序(使用“localhost”)。有两个类,一个 Server.java 和一个 Client.java,但它们只能以回合制的方式相互交谈。
我想将socket.accept() 方法放在一个新线程上,这样服务器和客户端程序都可以在socket.accept() 等待新消息时发送消息。
到目前为止,我在线程方面做得很好,但我想不出将 ServerSocket/Socket 对象放在哪里。如果我把它们放在等待传入消息的线程中,我就不能将该对象用于传出消息。如果我将 ServerSocket/Socket 对象直接放在 Server.java/Client.java 文件中,我不能(或者我只是不知道如何)将对象传递给线程,而不创建它的副本。
对我应该如何构建这个程序有什么建议吗?
谢谢, 德里克
【问题讨论】:
标签: java multithreading sockets