如何用python监听多个端口
时间: 2023-10-03 14:04:52 浏览: 257
要监听多个端口,可以使用多线程或协程来实现。以下是使用多线程的示例代码:
```python
import threading
import socket
def handle_connection(conn, addr):
# 处理连接逻辑
pass
def listen(port):
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', port))
server_socket.listen()
while True:
conn, addr = server_socket.accept()
threading.Thread(target=handle_connection, args=(conn, addr)).start()
if __name__ == '__main__':
ports = [8000, 8001, 8002]
for port in ports:
threading.Thread(target=listen, args=(port,)).start()
```
该代码使用了多个线程来监听不同的端口,每个线程都会创建一个 socket 并在该端口上监听连接。当有新连接时,将会创建一个新的线程来处理连接逻辑。在主线程中,可以通过创建多个子线程来监听不同的端口。
另外,也可以使用协程来实现,具体实现方法可以使用 Python 的协程库 asyncio,这里不再赘述。
阅读全文