Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap self.run() File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/process.py", line 108, in run self._target(*self._args, **self._kwargs) File "/Users/paulyu/Desktop/python/3.py", line 164, in passive filename2, filesize2, computername2 = struct.unpack('128sqs', buf2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ struct.error: unpack requires a buffer of 137 bytes这个如何解决
时间: 2023-08-01 21:15:11 浏览: 208
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
这个错误通常是由于接收端的缓冲区大小不足导致的。在你的代码中,你尝试使用 128 + 8 + 1 = 137 字节的缓冲区来接收数据。但是,发送方可能会发送比这更多的数据,因此你需要增加缓冲区的大小。
你可以尝试逐步增加缓冲区的大小,直到能够成功接收所有的数据。例如,你可以将缓冲区大小增加到 256:
```python
buf2 = conn2.recv(256)
filename2, filesize2, computername2 = struct.unpack('128sqs', buf2)
```
如果还是出现错误,你需要进一步增加缓冲区的大小,直到满足你的需要。
阅读全文