gpt4 book ai didi

python - 程序停止运行是由python udp 停留在一个地方引起的

转载 作者:行者123 更新时间:2023-12-04 19:44:14 36 4
gpt4 key购买 nike

我有一个关于 socket 的问题在 python 。
我用 udp-protocol在我的程序中。程序中通常会出现以下错误。我的程序停留在一个点。使用 pstack pid ,详细信息如下:

$ pstack 12776
#0 0x000000318b20e9a3 in __recvfrom_nocancel () from /lib64/libpthread.so.0
#1 0x00007f2fbc14fad1 in sock_recvfrom_guts () from /home/work/local/lib/python2.7/lib-dynload/_socket.so
#2 0x00007f2fbc14fd82 in sock_recvfrom () from /home/work/local/lib/python2.7/lib-dynload/_socket.so
#3 0x000000000049bdc0 in PyEval_EvalFrameEx ()
#4 0x000000000049c83e in PyEval_EvalFrameEx ()
#5 0x000000000049c83e in PyEval_EvalFrameEx ()
#6 0x000000000049d93e in PyEval_EvalCodeEx ()
#7 0x000000000049da52 in PyEval_EvalCode ()
#8 0x00000000004bd2f0 in PyRun_FileExFlags ()
#9 0x00000000004bd4bc in PyRun_SimpleFileExFlags ()
#10 0x000000000041608c in Py_Main ()
#11 0x000000318ae1ecdd in __libc_start_main () from /lib64/libc.so.6
#12 0x0000000000415019 in _start ()

我认为 upd-protocol应该没有问题。我真的不明白为什么会出现这种情况。没有人能帮帮我,谢谢!python的版本是2.7.3。我的代码如下:
address = (server_ip, server_port);
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(send_buf, address)
response, addr = s.recvfrom(2048)
if response:
real_body = self.parse_response(response)

最佳答案

我找到了一个原因。我在代码中使用了 udp 协议(protocol)。有时由于网络问题,客户端无法发送服务器发送的数据。
最后,我通过在客户端使用选择功能解决了这个问题。

关于python - 程序停止运行是由python udp 停留在一个地方引起的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38866491/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com