Python(服务器)和Java(客户端)之间的TCP套接字中发生了意外的Subcommit和Stick



当我同事的Java(客户端(TCP套接字程序将一个包(500KB~1MB(发送到我的Python(服务器(TCP套接字时,会出现转包和粘贴的情况。我想知道,对于这种情况,是否有一个普遍有效的解决方案?在这种情况下,人们通常会做什么?我想如果可以手动刷新套接字函数recv(buffer_zone(请求的缓冲区。如果我能做到这一点,程序至少不会粘包。

是我,我通过头尾包模式解决了这个问题
具体地说,当向服务器发送一系列数据时,客户端可以发送包括戳信息和数据长度的头包。当服务器接收到客户端发送的头包时,它可以知道客户端将发送到服务器的长度,并且服务器可以为传入数据准备相同长度的缓存。当客户端向服务器发送tail(数据(包时,服务器可以根据预先知道的数据长度取出数据。这是我目前的解决方案。

相关内容

最新更新