"P2P" 是 "Peer-to-Peer" 的缩写,它是一种网络通信模式,其中每个参与者(节点)都具有相同的能力和责任。在 P2P 网络中,每个节点既可以作为客户端也可以作为服务器,这与传统的客户端-服务器模型不同,在传统模型中,客户端发出请求,服务器响应请求。
以下是一个简单的 P2P 网络通信示例,使用 Python 的 socket 库:
import socket
def start_server(host='0.0.0.0', port=12345):
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((host, port))
server_socket.listen(5)
print(f"Server listening on {host}:{port}")
while True:
client_socket, addr = server_socket.accept()
print(f"Connection from {addr}")
data = client_socket.recv(1024)
print(f"Received: {data.decode('utf-8')}")
client_socket.sendall(b"Message received")
client_socket.close()
def start_client(host='127.0.0.1', port=12345):
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((host, port))
client_socket.sendall(b"Hello, Server!")
data = client_socket.recv(1024)
print(f"Received: {data.decode('utf-8')}")
client_socket.close()
if __name__ == "__main__":
import threading
server_thread = threading.Thread(target=start_server)
server_thread.start()
start_client()
在这个示例中,我们创建了一个简单的服务器和客户端,它们可以通过 P2P 方式进行通信。服务器监听一个端口,等待客户端连接,而客户端连接到服务器并发送一条消息。服务器接收消息后回复确认。
领取专属 10元无门槛券
手把手带您无忧上云