如何使HTTP服务器在多个端口上侦听?

时间:2019-01-20 23:03:01

标签: python server python-requests webserver

我正在尝试创建一个同时侦听多个端口的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个端口上侦听?

0 个答案:

没有答案