socket udp发送和接收

该博客内容涉及通过Python实现UDP协议的通信,包括定义数据包、绑定本地端口、发送数据到指定IP和端口,以及接收和解析返回的数据。

packet = []#定义一个数组,内容为拆分的报文包
packet.append(0x55)  # 0
packet.append(0xab)  # 1
packet.append(0x00)  # 2
packet.append(0x00)  # 3 roll
packet.append(0x01)  # 4 fbyte
packet.append(0x0)  #
packet.append(0x0)  # 6 dbyte
packet.append(0x0)  #
packet.append(0x0)  # 8 year
packet.append(0x0)  # 9 month
packet.append(0x0)  # 10 day
packet.append(0x0)  # 11 hour
packet.append(0x0)  # 12 minute
packet.append(0x0)  # 13 sec
packet.append(0x0)  # 14 cmd
cmdpacket = bytearray(packet)

socket_ctl = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#定义一个UDP协议套接字,udp协议不区分客户端和服务端,只有发送和接收
socket_ctl.bind(("", 15051))#定义发送端IP和端口,不输入默认电脑IP

controller=("172.16.7.78",6000)#定义目标socket  IP地址和端口号

print("cmdpacket",list(cmdpacket))
print(packet)
socket_ctl.sendto(cmdpacket,controller)#发送socket信息
while True:
    bdata, client = socket_ctl.recvfrom(1500)#接收socket目标对象发送的数据,并赋值给指定变量
    print(client)#打印目标对象IP和端口号
    print(list(bdata))#打印数据列表
    print(bdata.hex())
    print(list(bdata.hex()))
    print(InsertBlock(ToHexStr(bdata)))
    #print(bdata.decode('gbk'))#encode(‘gbk’)转为GBK编码
    print("bdate:",len(bdata))#打印数据长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值