|
|
1
1
socketchannel.write将在非阻塞模式下返回可以立即发送到网络而不阻塞的字节数。您的问题让我认为您希望write方法使用整个缓冲区,并尝试异步地向网络发送额外的数据,但这不是它的工作方式。 如果您确实需要确保在断开套接字之前将错误消息发送到客户机,那么我只需在调用write方法之前启用阻塞。使用非阻塞模式,您必须在一个循环中调用write,计算每次调用发送的字节数,并在成功地将整个消息传递到套接字时退出循环(我知道,解决方案不好,不必要的代码,忙等待等等)。 |
|
|
2
0
您最好启动一个线程并同步地将数据写入通道。异步API更倾向于“一个线程调度多个通道”,而不是真正用于触发和忘记通信。 |
|
|
3
0
这个
|