python 网络编程 struct解包时报错 struct.error: unpack requires a buffer of 4 bytes
生活随笔
收集整理的這篇文章主要介紹了
python 网络编程 struct解包时报错 struct.error: unpack requires a buffer of 4 bytes
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
報錯信息
D:\Donta_tensorflow-yolov3\python\python.exe D:/10_gitee/network_programming/避障程序信號及圖像接收端/201003_避障程序信號及圖像接收端_測試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/避障程序信號及圖像接收端/201003_避障程序信號及圖像接收端_測試udp傳輸上限.py", line 87, in <module>receive()File "D:/10_gitee/network_programming/避障程序信號及圖像接收端/201003_避障程序信號及圖像接收端_測試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這是因為傳給unpack()函數的buffer參數本應為4個字節的,結果傳了60000多個字節,所以就會報此錯誤
解決辦法
給傳入參數加一個 recvfrom()函數的bufsize參數加一個判斷就行了,如果長度不是4,就continue跳過
總結
以上是生活随笔為你收集整理的python 网络编程 struct解包时报错 struct.error: unpack requires a buffer of 4 bytes的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试socket udp 单次传输数据上
- 下一篇: python Intel Realsen