下面是一个使用 Python 的 socket 模块搭建 TCP 服务器的示例代码:

python
import socket
# 创建 TCP 套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置服务器地址和端口
server_address = ('localhost', 8000)
# 绑定地址和端口
server_socket.bind(server_address)
# 监听连接
server_socket.listen(1)
print('启动 TCP 服务器, 监听地址: %s, 端口: %s' % server_address)
while True:
print('等待连接...')
client_socket, client_address = server_socket.accept()
try:
print('收到来自', client_address, '的连接')
# 接收数据
while True:
data = client_socket.recv(1024)
print('接收到数据:', data.decode())
if data:
print('发送数据回客户端')
client_socket.sendall(data)
else:
print('没有更多数据从', client_address, '接收')
break
finally:
# 清理连接
client_socket.close()
这个示例代码会创建一个 TCP 服务器,监听 `localhost` 的 `8000` 端口。当有客户端连接时,服务器会接收客户端发送的数据,并原样返回给客户端。
具体步骤如下:
1. 创建一个 `socket.socket` 对象,指定地址族为 `AF_INET`(IPv4),套接字类型为 `SOCK_STREAM`(TCP)。
2. 设置服务器地址和端口号。
3. 使用 `bind()` 方法绑定地址和端口。
4. 调用 `listen()` 方法开始监听连接请求。
5. 进入一个无限循环,等待客户端的连接请求。
6. 当有客户端连接时,使用 `accept()` 方法接受连接,获取客户端套接字和地址。
7. 使用客户端套接字接收数据,并将数据原样返回给客户端。
8. 最后关闭客户端套接字。
这只是一个简单的示例,在实际应用中,你可能需要添加更多的错误处理和并发处理等功能。

查看详情

查看详情