一个使用SimpleHTTPServer和SocketServer的简单的python服务器,如何在重新运行.py文件之前关闭套接字?

前端之家收集整理的这篇文章主要介绍了一个使用SimpleHTTPServer和SocketServer的简单的python服务器,如何在重新运行.py文件之前关闭套接字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我在 linux shell中运行我的 python服务器文件simplehttpwebsite.py,我做控制c并再次运行,我得到socket.error:[Errno 98]地址已经在使用.

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

simplehttpwebsite.py

  1. #!/usr/bin/env python
  2. import SimpleHTTPServer
  3. import SocketServer
  4.  
  5. Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
  6. server = SocketServer.TCPServer(('0.0.0.0',8080),Handler)
  7.  
  8. server.serve_forever()

解决方法

这是你怎么做的
  1. #!/usr/bin/env python
  2. import SimpleHTTPServer
  3. import SocketServer
  4.  
  5. Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
  6. class MyTCPServer(SocketServer.TCPServer):
  7. allow_reuse_address = True
  8. server = MyTCPServer(('0.0.0.0',Handler)
  9.  
  10. server.serve_forever()

IMHO这个记录不是很好,应该是默认的.

猜你在找的Python相关文章