import socket
# 创建一个TCP/IP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定套接字到地址和端口
server_address = ('localhost', 10000)
print(f'Starting up on {server_address[0]} port {server_address[1]}')
server_socket.bind(server_address)
# 监听传入连接
server_socket.listen(1)
while True:
# 等待连接
print('Waiting for a connection...')
connection, client_address = server_socket.accept()
try:
print(f'Connection from {client_address}')
# 接收数据
while True:
data = connection.recv(16)
print(f'Received: {data.decode()}')
if data:
print('Sending data back to the client...')
connection.sendall(data)
else:
print('No more data from', client_address)
break
finally:
# 清理连接
connection.close()
socket.socket(socket.AF_INET, socket.SOCK_STREAM)
创建一个TCP套接字。bind()
方法将套接字绑定到指定的IP地址和端口号(本例中为localhost
和10000
)。listen(1)
方法使服务器开始监听传入连接,参数1
表示最大连接数为1。accept()
方法等待并接受客户端连接,返回一个新的套接字对象和客户端地址。recv()
方法接收数据,并通过sendall()
方法将接收到的数据回传给客户端。此代码实现了一个简单的TCP服务器,它会监听指定端口,接受客户端连接,并回显接收到的数据。
上一篇:python串口发送16进制数据
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站