''' Udp广播,线程发送和接收数据。 广播的核心是bind和setsockopt '''
#! python3
# encoding: utf-8
import socket
import threading
import time
def upd_send(udpSocket):
ip = '<broadcast>'
port = 51213
room = 1
subnet = 2
device = 3
i = 0
#字符串设置为16进制使用bytes().fromhex()。 设置带参数为16进制,并且参数位宽为2,不够用0填充,使用%02x,(跟c sprintf()参数一样格式)
while True:
if (i % 2 == 0):
data = bytes().fromhex('a7a800000018000000%02x%02x000300c010d06b'%(subnet,device))
else:
data = bytes().fromhex('a7a8000000180000%02x%02x%02x000300c010d06b'%(room,subnet,device))
#data = str(data,encoding = 'utf-8')
udpSocket.sendto(data,(ip,port))
time.sleep(5)
i+=1
room+=1
subnet+=1
device+=1
def udp_recv(udpSocket)
Udp广播,线程发送与接收数据
最新推荐文章于 2024-07-30 20:11:05 发布
本文详细探讨了如何在多线程环境中实现UDP广播,讲解了线程安全的数据发送与接收方法,涵盖了网络编程和并发处理的关键知识点。
摘要由CSDN通过智能技术生成