python socket UDP或广播模式 发送接收数据
服务端 监听 server.py
import socket
# 创建 socket
sk = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#设置为广播模式
#sk.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
#设置接收数据超时1秒
sk.settimeout(1)
# 绑定 IP 和端口号
sk.bind(('0.0.0.0', 60000))
while True:
# 接收数据
msg, addr = sk.recvfrom(1024)
# 打印
print('来自[%s:%s]的消息: %s' % (addr[0], addr[1], msg))
#将数据原路发回
sk.sendto(msg, addr)
# 关闭 socket
sk.close()
客户端发送接收 client.py
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#设置为广播模式
s.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
#s.sendto(sdata,('<broadcast>',60000))广播模式发送数据
#发送数据
s.sendto("你好啊,服务器".encode('utf-8'), ('127.0.0.1',60000))
#接收数据
data=s.recvfrom(1024)
#显示数据
print(data)
s.close