小编Vue*_*eey的帖子

SocketChannel.write()编写问题

这里的问题是我可以看到数据正被写入套接字,但它并不总是被发送.

这是一个代码片段

ByteBuffer writeBuffer = ByteBuffer.allocate(8192);
writeBuffer.clear();
writeBuffer.put("heartbeat".getBytes());


writeBuffer.flip();
LOG.debug("is connected: " + socketChannel.isConnected());
int bytesWritten = 0;
if (key.isWritable()) {
    while (writeBuffer.hasRemaining()) {
        bytesWritten += socketChannel.write(writeBuffer);
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用TCPMon来查看实际数据是否被写入套接字 - 它是做什么的.

但是使用WireShark(另一种网络监控工具)我看不到数据包通过网卡.

任何帮助,将不胜感激

java nio

4
推荐指数
1
解决办法
4074
查看次数

标签 统计

java ×1

nio ×1