程序停止运行是由python udp停留在p中引起的

2024-04-25 12:05:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于python中socket的问题。 我在程序中使用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)

Tags: infrom程序homeresponselibsocketprotocol