使用python编写TCP服务端,侦听端口,支持连接的客户端数据相互通讯
时间: 2024-11-16 09:20:07 浏览: 5
在Python中,你可以使用内置的socket库来编写一个简单的TCP服务器,监听指定的端口并处理客户端的连接。以下是一个基础的示例:
```python
import socket
# 创建一个TCP/IP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定到特定主机和端口(这里假设本地主机,如果需要特定IP,可以替换为对应的地址)
server_address = ('localhost', 8000)
server_socket.bind(server_address)
# 设置最大连接数
server_socket.listen(5) # 最大5个并发连接
print(f"Server started on {server_address}.")
while True:
# 等待客户端连接
connection, client_address = server_socket.accept()
print(f"Accepted connection from {client_address}.")
try:
# 接收客户端的数据,并发送回应
data = connection.recv(1024).decode('utf-8') # 每次接收1KB数据
response = f"You sent: {data}"
connection.sendall(response.encode('utf-8')) # 发送响应给客户端
# 循环等待更多数据或关闭连接
while True:
more_data = connection.recv(1024)
if not more_data:
break
print(f"Received: {more_data.decode('utf-8')}")
finally:
# 关闭连接
connection.close()
```
这个服务器会一直运行,直到手动停止或遇到错误。当有新的客户端连接时,它会创建一个新的线程或进程(取决于操作系统和Python版本),处理每个客户端的请求。
阅读全文