sonar_udp.py 1.1 KB

123456789101112131415161718192021222324252627
  1. # -*- coding: utf-8 -*-
  2. import time
  3. import socket
  4. # 组播组IP和端口
  5. mcast_group_ip = '224.0.0.1'
  6. mcast_group_port = 50030
  7. def sender():
  8. # 建立发送socket,和正常UDP数据包没区别
  9. name = 'sender'
  10. send_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
  11. # 每十秒发送一遍消息
  12. while True:
  13. msg = '2c0a00006b000000ffffffffffff148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377148f21304377474d4e3100'
  14. msg_hex = bytes.fromhex(msg)
  15. try:
  16. send_sock.sendto(msg_hex, (mcast_group_ip, mcast_group_port))
  17. print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())}: awaken_gls10 message send finish')
  18. except Exception as e:
  19. print(f'Other error occur [{name}]:[{mcast_group_ip}]:[{mcast_group_port}]:{e}')
  20. # data, server = send_sock.recvfrom(4096)
  21. # print(data.decode())
  22. time.sleep(10)
  23. if __name__ == "__main__":
  24. sender()