我阅读了this question以及与此相关的其他问题,但未得到任何直接答案。
我需要立即向客户端发送数据以解决性能问题。我不需要Nagle的算法来有效地发送数据。
Socket sock = new Socket("localhost", 1234);
sock.setTcpNoDelay();
OutputStream output = sock.getOutputStream();
for(int i = 0; i < 100; i++){
output.write(dataByteArray);
output.flush();
Thread.sleep(delayTime);
}
我的问题是:正如我设置sock.setTcpNoDelay()
我是否真的需要使用output.flush()
请求OS立即发送网络缓冲区数据?