Python套接字和测量接收的字节数

Python套接字和测量接收的字节数,python,sockets,networking,Python,Sockets,Networking,全部, 我有一个简单的Python脚本,它将4个字节的数据发送到服务,并设置1024个recv缓冲区。我试图弄清楚如何测量从服务返回的字节数,以便放入一些逻辑中。因此,如果响应大于10个字节,则执行X,否则执行Y。我只是不知道如何以字节为单位度量响应。如有指点,将不胜感激 import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) address = ("10.0.0.1", 5000) s.connect(addre

全部,

我有一个简单的Python脚本,它将4个字节的数据发送到服务,并设置1024个recv缓冲区。我试图弄清楚如何测量从服务返回的字节数,以便放入一些逻辑中。因此,如果响应大于10个字节,则执行X,否则执行Y。我只是不知道如何以字节为单位度量响应。如有指点,将不胜感激

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
address = ("10.0.0.1", 5000)
s.connect(address)
s.send('1234')
data = socket.recv(1024)
s.close()
size=len(数据)

数据是以字符串表示的字节块,因此获取字符串的长度将为您提供所需的内容


不过,您将遇到的问题是,您使用的是TCP,它是一个流—无法保证您将(仅)在recv()上获得一条完整的消息。解决这一问题的简单方法是向协议中添加一个大小参数,并添加逻辑以重新组合和反序列化消息。

您忘记检查
套接字的返回值。发送
。您认为“协议”是什么意思??