"P2P"通常指的是"点对点"(Peer-to-Peer)网络技术,它允许网络中的每个节点既是客户端也是服务器,可以直接相互通信和共享资源,而不需要通过中央服务器。这种技术在文件共享、分布式计算、即时通讯等领域有广泛应用。
import socket
import threading
def send_file(ip, port, filename):
with open(filename, 'rb') as f:
data = f.read()
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((ip, port))
s.sendall(data)
def receive_file(port, filename):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind(('0.0.0.0', port))
s.listen()
conn, addr = s.accept()
with conn:
with open(filename, 'wb') as f:
while True:
data = conn.recv(1024)
if not data:
break
f.write(data)
# 启动接收文件的线程
threading.Thread(target=receive_file, args=(12345, 'received_file.txt')).start()
# 发送文件到另一台机器的IP和端口
send_file('192.168.1.2', 12345, 'my_file.txt')
请注意,这只是一个非常基础的示例,实际应用中需要考虑更多的安全和错误处理机制。
希望以上信息能帮助您更好地理解P2P技术及其相关应用!