socket 同时监听两个端口
时间: 2023-06-17 12:04:01 浏览: 135
可以使用 Python 的 socket 库来监听多个端口。下面是一个示例代码:
```python
import socket
# 创建一个 TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定第一个端口
server_address1 = ('localhost', 10000)
sock.bind(server_address1)
# 绑定第二个端口
server_address2 = ('localhost', 10001)
sock.bind(server_address2)
# 开始监听连接
sock.listen(1)
while True:
# 等待连接
print('waiting for a connection...')
connection, client_address = sock.accept()
try:
print('connection from', client_address)
# 处理数据
while True:
data = connection.recv(16)
print('received {!r}'.format(data))
if data:
print('sending data back to the client')
connection.sendall(data)
else:
print('no data from', client_address)
break
finally:
# 关闭连接
connection.close()
```
在上面的示例代码中,我们创建了一个 TCP/IP socket,并绑定了两个端口:10000 和 10001。然后我们开始监听连接,并在收到连接时打印客户端地址。在收到数据后,我们将数据发送回客户端。最后,我们关闭连接并继续等待下一个连接。
阅读全文