0
我想在寫入字符串byebye
後關閉Java非阻塞套接字通道。但是,非阻塞模式下的方法會立即返回,所以調用close()
可能會導致正在進行的寫操作拋出ClosedChannelException
。關閉非阻塞套接字通道
我能想到的解決方法2:
- 彈出一個線程和關閉之前等待幾毫秒。
- 轉爲關閉之前阻塞模式,但Java doc says
「A信道必須被放置到非阻塞模式與一選擇器註冊之前,並直到它已被註銷可能不會返回到阻塞模式」
代碼:
String msg = "byebye";
channel.write(ByteBuffer.wrap(msg.getBytes()));
channel.close();