擅长:python、mysql、java
<p>我猜你是在讨论TCP连接。</p>
<p>你的方法有缺陷。TCP流定义为字节流。您总是必须使用某种分隔符,并且可能不依赖网络堆栈来分隔消息。</p>
<p>如果您真的需要基于数据报的服务,请切换到UDP。在这种情况下你需要自己处理重传。</p>
<p>澄清:</p>
<p>刷新发送缓冲区通常会创建新包,正如您所期望的那样。如果你的客户读这些包足够快,你可能会得到一个消息每次读取。</p>
<p>现在想象一下你通过卫星链路进行通信。由于高带宽和延迟,sat之前的最后一个路由器会等待很短的时间,直到缓冲区中有足够的数据并同时发送所有数据包。您的客户机将立即接收所有数据包,并将所有数据立即放入接收缓冲区。所以你的分离又消失了。</p>