Python 套接字服务器问题

标签 python tcp

我正在尝试使用线程套接字服务器

self.server = SocketServer.ThreadingTCPServer( ( HOST, PORT ), MCRequestHandler )

和析构函数

def __del__( self ):
        self.server.shutdown();
        self.server.server_close()
        print( 'Server closed ! ' );

当我关闭 GUI 时,将调用 del 函数,但如果我想重新启动该程序,我会收到以下错误消息

socket.error: [Errno 98] Address already in use
Exception AttributeError: "'MCCommunication' object has no attribute 'server'" in <bound method MCCommunication.__del__ of <MCCommunication.MCCommunication object at 0x26867c0>> ignored

最佳答案

创建 TCPServer 的子类,并将其添加到其中:

class TCPServer(SocketServer.TCPServer):
allow_reuse_address = True 

setsockopt 基本相同,但更简单。

关于Python 套接字服务器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6505105/

相关文章:

python - 如何使用 Windows 命令提示符安装 Python

python - 如何使用 python 的交互式输入运行命令行程序?

c - 如何更改 NS-2 中数据包 tcp header 中的标志?

c - ifconfig 和套接字 inet_ntop 的不同 IP 结果

python - 如何在不实例化新驱动程序的情况下使用 Selenium 切换 Firefox 配置文件?

python - 如何解决 Django 中的模块名称冲突?

python - 迭代 NumPy 数组的列和另一个数组的元素?

c - 带有信号捕捉器的套接字程序

python - struct.pack() Python 未知字段长度通过套接字发送

c++ - boost::asio 允许在连接处理程序阻塞时非阻塞地接受新连接