python socket监听
时间: 2024-08-19 21:02:38 浏览: 59
在Python中,`socket`模块用于网络通信,特别是创建套接字。如果你想监听网络连接,可以使用`socket`来创建一个服务器端套接字(server socket)。以下是基本的TCP服务器监听步骤:
```python
import socket
def start_server():
# 创建一个AF_INET类型的socket,它表示基于IPv4的地址
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定服务器到特定的IP地址(通常localhost即127.0.0.1)和端口,默认值是0,系统会自动分配一个可用的端口
server_socket.bind(('localhost', 8000))
# 设置允许的最大连接数,None表示不限制
server_socket.listen(5) # backlog参数,指定队列最大长度
print(f"Server is listening on port {server_socket.getsockname()[1]}")
while True:
# 接受客户端连接请求,并返回一个新的socket对象
client_socket, addr = server_socket.accept()
print(f"Accepted connection from {addr[0]}:{addr[1]}")
# 这里处理客户端的数据交互...
# 在实际应用中,你需要编写相应的客户端数据接收和处理逻辑
# 关闭客户端socket,保持服务器端连接
client_socket.close()
if __name__ == "__main__":
start_server()
```
在这个例子中,`start_server`函数启动了一个监听8000端口的服务器。当有新客户端连接时,它会接受并建立一个新的连接,然后你可以在这个新的`client_socket`上进行进一步的交互。
阅读全文