有没有办法检查到 ServerSocket 的传入连接,所以我的服务器在等待某人连接时不会停止。
我需要类似的东西
try {
if (server.thereisarequest()) {
Socket socket = server.accept();
}
}
你确定要这个吗?呈现代码后,只有一个线程在等待。运行另一个处理接受的连接的线程,这样您的服务器就不会停止。您也可以使用 java 非阻塞异步 I/O(nio 和 nio2),但无论如何在后台都有一个线程在值班。
保持简单...使用无限 while
循环使服务器查找传入请求...大多数服务器的工作方式..
while (true) {
incoming = s.accept(); // incoming is of type Socket.
}
您可以创建一个新线程来接受连接。
那么你有2个选择:
ConcurrentLinkedQueue
) 并从主线程检查它的队列。