C++ 从python3客户端到cpp服务器的垃圾发送 我有一个CPP服务器和Python 3客户端,但是当我发送数据时,我得到了垃圾值(错误的数字和0在字符串的中间) 我试着用,也试着用

C++ 从python3客户端到cpp服务器的垃圾发送 我有一个CPP服务器和Python 3客户端,但是当我发送数据时,我得到了垃圾值(错误的数字和0在字符串的中间) 我试着用,也试着用,c++,python-3.x,C++,Python 3.x,客户端代码(python3): 我还有一个CPP客户机,它的工作正常一旦编码消息的长度不等于原始消息的长度,这可能会失败——经常发生,一旦您开始发送UTF-8或除纯ASCII以外的任何东西: data = pack('<Q%ds' % len(message), len(message), message.encode()) data=pack(' 将长度作为单个字节发送 auto bytesReceived =read(fd, &len, sizeof(len)); 将长度读

客户端代码(python3):


我还有一个CPP客户机,它的工作正常

一旦编码消息的长度不等于原始消息的长度,这可能会失败——经常发生,一旦您开始发送UTF-8或除纯ASCII以外的任何东西:

data = pack('<Q%ds' % len(message), len(message), message.encode())
data=pack('
将长度作为单个字节发送

auto bytesReceived =read(fd, &len, sizeof(len));

将长度读取为大于一个字节的size\u t。

我在末尾找到的答案是使用

auto bytesReceived =read(fd, &len, sizeof(len));

它解决了所有的垃圾问题

Holly Dash,刚刚看到你链接了我的回购!很高兴有用:)@Oleguer最欢迎你
s.send(bytes([len(message)]))
auto bytesReceived =read(fd, &len, sizeof(len));