是否可以通过python套接字编程连接到不同的子网或域?
我想制作一个与朋友分享文件的脚本,但目前我只知道如何操作 在一个局域网内连接。
答案 0 :(得分:1)
它是发现协议,您可以通过UDP套接字实现它。
一旦两个对等体决定进行通信,它们应该创建一个TCP套接字。然后,他们可以通过TCP发送数据 或者您可以使用HTTP,XML-RPC等来传输数据(不是广播,TCP不支持广播)。
#udp broadcast
import socket, time
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
while True:
data = 'test'.encode()
s.sendto(data, ('255.255.255.255', 1080))
time.sleep(1)
#udp receive broadcast
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('', 1080))
while True:
print(s.recv(1024))