我需要一个简单的客户端-服务器通信,以便实现单元测试。
我的步骤:
- 创建服务器线程
- 等待服务器线程将服务器套接字放入监听模式(serverSocket.accept())
- 创建客户端
- 发出一些请求,验证响应
基本上,我在步骤#2遇到了问题。我找不到一种方法来在服务器套接字被设置为“监听”状态时通知我。在这种情况下,对“accept”的异步调用将会起作用,但是Java不支持这一点(根据文档,它似乎仅支持异步通道,而这些与“accept()”方法不兼容)。
当然,我可以使用简单的“sleep”,但这并不是生产代码的解决方案。
因此,总结一下,我需要检测ServerSocket何时已经进入监听模式,而不使用睡眠和/或轮询。