python 网络编程 struct解包时报错 struct.error: unpack requires a buffer of 4 bytes
生活随笔
收集整理的這篇文章主要介紹了
python 网络编程 struct解包时报错 struct.error: unpack requires a buffer of 4 bytes
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
報(bào)錯(cuò)信息
D:\Donta_tensorflow-yolov3\python\python.exe D:/10_gitee/network_programming/避障程序信號(hào)及圖像接收端/201003_避障程序信號(hào)及圖像接收端_測(cè)試udp傳輸上限.py b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x02\x01\x01\x01\x01\x01\x02\x01\x01\x01\x02\x02\x02\x02\x02\x04\x03\x02\x02\x02\x02\x05\x04\x04\x03\x04\x06\x05\x06\x06\x06\x05\x06\x06\x06\ ... 65507 Traceback (most recent call last):File "D:/10_gitee/network_programming/避障程序信號(hào)及圖像接收端/201003_避障程序信號(hào)及圖像接收端_測(cè)試udp傳輸上限.py", line 87, in <module>receive()File "D:/10_gitee/network_programming/避障程序信號(hào)及圖像接收端/201003_避障程序信號(hào)及圖像接收端_測(cè)試udp傳輸上限.py", line 40, in receivedata_size = struct.unpack('i', buffer)[0] struct.error: unpack requires a buffer of 4 bytesProcess finished with exit code 1這是因?yàn)閭鹘ounpack()函數(shù)的buffer參數(shù)本應(yīng)為4個(gè)字節(jié)的,結(jié)果傳了60000多個(gè)字節(jié),所以就會(huì)報(bào)此錯(cuò)誤
解決辦法
給傳入?yún)?shù)加一個(gè) recvfrom()函數(shù)的bufsize參數(shù)加一個(gè)判斷就行了,如果長(zhǎng)度不是4,就continue跳過(guò)
總結(jié)
以上是生活随笔為你收集整理的python 网络编程 struct解包时报错 struct.error: unpack requires a buffer of 4 bytes的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 测试socket udp 单次传输数据上
- 下一篇: 中级软考 计算机指令执行过程(取指、分析