[英]How to make Java send multiple messages together?
这是我的代码的摘录:
OutputStream out = this.socket.getOutputStream();
out.write(fourBytes);
out.write(someBytes);
out.flush();
这在 2 个包中发送,即使第一个包只有 4 个字节长。 除了将字节 arrays 连接在一起发送它们之外,还有其他方法吗?
我已经尝试过setTcpNoDelay(false)
。
当然。 使用BufferedOutputStream
。 :-P
setTcpNoDelay
改变操作系统发送数据包的方式,而不是 Java 发送数据包的方式。 改变后者的唯一方法是缓冲你的 output,正如我上面建议的那样。
顺便说一句,这不会影响您的数据真正分成多少个数据包。 同样,这取决于操作系统,以及接收端指定的 window。 因此,您不能使用数据包来分隔数据。
用缓冲的 output stream 包裹它
我认为禁用 Nagle 是由setTcpNoDelay(true)
完成的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.