在Python中,可以使用socket模块实现P2P(点对点)通信。下面是一个简单的示例,展示如何使用socket模块实现P2P通信:- 首先,我们需要创建两个Python程序,一个作为服务器端,另一个作为客户端。
服务器端(Server):[Asm] 纯文本查看 复制代码 import socket
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind(('127.0.0.1', 8000))
# 监听连接
server_socket.listen(1)
print('服务器已启动,等待客户端连接...')
# 等待客户端连接
client_socket, client_address = server_socket.accept()
print(f'客户端已连接:{client_address}')
# 向客户端发送消息
message = 'Hello, Client!'
client_socket.send(message.encode())
# 接收客户端发送的消息
client_message = client_socket.recv(1024).decode()
print(f'收到客户端的消息:{client_message}')
# 关闭连接
client_socket.close()
server_socket.close()
客户端(Client):[Asm] 纯文本查看 复制代码 import socket
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器,指定IP地址和端口号
client_socket.connect(('127.0.0.1', 8000))
# 从服务器接收消息
server_message = client_socket.recv(1024).decode()
print(f'收到服务器的消息:{server_message}')
# 向服务器发送消息
client_message = 'Hello, Server!'
client_socket.send(client_message.encode())
# 关闭连接
client_socket.close()
在这个示例中,服务器端程序会等待客户端连接,一旦有客户端连接,就会向客户端发送一条消息,然后等待客户端发送消息。客户端程序连接到服务器后,会接收服务器的消息,并向服务器发送一条消息。最后,两个程序都会关闭连接。 |