因此,对于一个项目,我正在使用 Netbeans IDE 中的 Java 制作一个点对点的两人聊天客户端。
我的问题不完全是代码,而是更多关于结构和如何实现的问题。
我想要做的是让客户端打开并ServerSocket
监听试图从另一个客户端使用 a 建立的任何连接Socket
(这个另一个客户端也应该有一个ServerSocket
)所以这个想法是两个客户端都有能力接受一旦客户端打开并能够尝试建立连接,就会建立连接。
无论如何,问题在于ServerSocket.Accept();
程序一旦被调用就会阻塞(正确的术语?),直到超时结束。我想要的是ServerSocket
只是在后台侦听任何传入连接并在发生这种情况时连接它们,而不会完全禁用程序的功能(即用户能够自己启动连接)?为此,我是否需要为 建立一个单独的线程,ServerSocket
一旦建立连接就会被杀死?
此外,一旦建立连接,我如何让程序定期检查输入流Socket
以查看是否有来自其他客户端的任何传入消息?
有没有办法可以在一个线程中实现这一点?(我还没有真正深入研究线程)
如果这有点宽泛,我很抱歉。
非常感谢!!