import socket
# 创建一个TCP/IP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定套接字到地址和端口
server_address = ('localhost', 10000)
print(f'starting up on {server_address[0]} port {server_address[1]}')
sock.bind(server_address)
# 监听传入连接
sock.listen(1)
while True:
# 等待连接
print('waiting for a connection')
connection, client_address = sock.accept()
try:
print(f'connection from {client_address}')
# 接收数据
while True:
data = connection.recv(16) # 每次接收16字节的数据
if data:
print(f'received "{data.decode()}"')
# 发送数据回客户端
connection.sendall(data)
else:
print('no more data from', client_address)
break
finally:
# 清理连接
connection.close()
socket.socket() 创建一个TCP/IP套接字。AF_INET 表示使用IPv4,SOCK_STREAM 表示使用TCP协议。bind() 方法将套接字绑定到指定的地址和端口。listen() 方法使服务器开始监听传入连接。参数 1 表示最多允许1个未处理的连接。accept() 方法等待并接受一个客户端连接。返回一个包含新套接字对象和客户端地址的元组。recv() 方法从客户端接收数据。参数 16 表示每次接收16字节的数据。sendall() 方法将接收到的数据发送回客户端。close() 方法关闭连接。这个示例代码展示了如何使用Python的 socket 模块创建一个简单的TCP服务器,接收来自客户端的数据,并将其回传给客户端。
上一篇:python字典添加键值对
下一篇:python var
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站