Fre*_*son 6 java udp nio datagram
我觉得我错过了一些非常明显的东西.
我的系统的整体结构使我想要使用没有选择器的阻塞DatagramChannel,以保持简单.我试图通过在套接字上设置超时来实现超时处理,但这似乎没有任何效果.
这个伪代码给出了我想要实现的内容的提示.
DatagramChannel channel = DatagramChannel.open(); channel.socket().bind(some address); channel.socket().setSoTimeout(3000); channel.send(outBuffer, peerAddress); channel.receive(inBuffer);
另一方面,我有一个UDP服务器,它提供五个快速响应,然后,为了测试目的,在传递第六个响应之前延迟大约五秒钟.
延迟不会触发SocketTimeoutException.这是为什么?调用channel.receive时,似乎没有考虑套接字上设置的超时.
此致Fredrik
| 归档时间: |
|
| 查看次数: |
1978 次 |
| 最近记录: |