我正在尝试创建一个同时侦听多个端口的python服务器,我知道我必须创建多个套接字,但是我不确定如何实现此目的。
我当前的服务器使用SimpleHTTPServer
模块并在端口8000上进行侦听。但是,我希望它也在8001和8002上进行侦听。
这是当前的服务器代码:
#!/usr/bin/env python
import SimpleHTTPServer
import SocketServer
import logging
PORT = 8000
class GetHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
logging.error(self.headers)
SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)
Handler = GetHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
httpd.serve_forever()
我试图修改代码以像这样监听端口8001和8002:
#!/usr/bin/env python
import SimpleHTTPServer
import SocketServer
import logging
PORT = 8000
PORT1 = 8001
PORT2 = 8002
class GetHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
logging.error(self.headers)
SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)
Handler = GetHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
httpd = SocketServer.TCPServer(("", PORT1), Handler)
httpd = SocketServer.TCPServer(("", PORT2), Handler)
httpd.serve_forever()
但是,它仅侦听最后一个端口(8002)。 如何修改脚本以在所有3个端口上侦听?