9

当我在 linux shell 中运行我的 python 服务器文件simplehttpwebsite.py并执行 control+c 并再次运行它时,我得到socket.error: [Errno 98] Address already in use.

当我执行 ctrl+c 时,如何确保套接字关闭?

简单的httpwebsite.py

#!/usr/bin/env python
import SimpleHTTPServer
import SocketServer

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
server = SocketServer.TCPServer(('0.0.0.0', 8080), Handler)

server.serve_forever()
4

1 回答 1

12

这是你的做法

#!/usr/bin/env python
import SimpleHTTPServer
import SocketServer

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
class MyTCPServer(SocketServer.TCPServer):
    allow_reuse_address = True
server = MyTCPServer(('0.0.0.0', 8080), Handler)

server.serve_forever()

恕我直言,这没有很好的记录,它绝对应该是默认值。

于 2012-05-16T08:04:44.017 回答