我正在运行一个socket监听线程,当满足特定条件时它应该关闭。以下是我的代码片段。
如果我使用SHUT_RD,SHUT_RDWR也会遇到同样的问题。 请问有人可以帮忙解决如何在使用UDP套接字时调用shutdown()函数吗? 谢谢。
def __init__(self, arg):
threading.Thread.__init__(self)
self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
receiver_port = int(<port>)
listen_addr = (<some ip>, receiver_port)
self.socket.bind(listen_addr)
self.shutdown = threading.Event()
self.shutdown.set()
def kill_function():
self.socket.shutdown(socket.SOCK_DGRAM)
self.shutdown.clear()
self.socket.close()
我正在面临
OSError: [Errno 107] Transport endpoint is not connected error when I try to
kill the socket.
如果我使用SHUT_RD,SHUT_RDWR也会遇到同样的问题。 请问有人可以帮忙解决如何在使用UDP套接字时调用shutdown()函数吗? 谢谢。
__init__
)和一个函数(kill_function
,没有self
)? - Klaus D.