Как установить размер пакета в recvfrom
Как установить размер пакета при использовании recvfrom()?
Я пытаюсь перехватить tcp-пакеты с помощью Raspberry Pi Model B. У меня есть программа на 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.close () s.close ()