Python 如何在recvfrom中设置数据包大小

Python 如何在recvfrom中设置数据包大小,python,tcp,filesize,recvfrom,Python,Tcp,Filesize,Recvfrom,使用recvfrom时如何设置数据包大小 我正在尝试使用Raspberry Pi模型B捕获tcp数据包。我有一个python程序,它使用recvfrom捕获数据包并将其写入.dat文件。与我编写的用于数据后处理的matlab代码兼容。在本例中,我需要文件的大小字节除以数据包大小8568字节,以生成一个整数值。这可能吗?如果是这样,我该怎么做 此外,每次运行代码时,我都必须关闭tcp源并对其进行电源备份,以使recvfrom函数正常工作。我想让它停止,我需要添加一个命令来清除代码开头或结尾的端口吗

使用recvfrom时如何设置数据包大小

我正在尝试使用Raspberry Pi模型B捕获tcp数据包。我有一个python程序,它使用recvfrom捕获数据包并将其写入.dat文件。与我编写的用于数据后处理的matlab代码兼容。在本例中,我需要文件的大小字节除以数据包大小8568字节,以生成一个整数值。这可能吗?如果是这样,我该怎么做

此外,每次运行代码时,我都必须关闭tcp源并对其进行电源备份,以使recvfrom函数正常工作。我想让它停止,我需要添加一个命令来清除代码开头或结尾的端口吗

 while t < 5:
time.sleep(1)
t+=1
print t
i=str(t)
f=open('test_' + i  ,'wb')
radar=s.recvfrom(8568)
data=str(radar)
f.write(data)
print radar
if radar == 0:
    print 'no packets'
if radar != 0:
    print radar
f、 接近
s、 关闭

请发布一些代码以加快回答过程-注意:只有足够的代码显示问题您希望从TCP套接字接收数据,并确保这些数据以8568字节的批量写入文件?您确定这是TCP而不是UDP吗?TCP是一种基于流的协议,在应用层没有数据包大小的概念。在TCP套接字中使用recv,而不是recvfrom。相反,UDP是面向消息的协议,并且具有分组大小,即与每个消息相关联的数据报大小;您使用的是recvfrom,而不是带有UDP套接字的recv。您的代码有很大缺陷:recvfrom返回的是一个元组,而不是数据包。作为元组的雷达永远不等于0。