1 UDP原理图

image.png

2 不同主机间的进程间通信(发送)

在ubuntu主机上编写如下python代码, 向win系统的“网络调试助手”进程发送消息

  1. from socket import *
  2. udp_socket = socket(AF_INET, SOCK_DGRAM)
  3. udp_socket.sendto(b"hahaha", ("192.168.3.13", 56050))
  4. udp_socket.close()

image.png

3 不同主机间的进程间通信(接收)

在ubuntu主机上编写如下python代码,接收来自windows主机的消息

  1. from socket import *
  2. # 1 创建套接字
  3. udp_socket = socket(AF_INET, SOCK_DGRAM)
  4. # 2 绑定一个指定端口号
  5. udp_socket.bind(("", 7788)) # 空str表示本机ip
  6. # 3 接收数据
  7. recv_data = udp_socket.recvfrom(1024) # 最大接收1024个字节, 若报文超过该大小, 会抛出异常
  8. # 4 打印接收到的数据
  9. print(recv_data)
  10. # 5 关闭套接字
  11. udp_socket.close()

image.png

(b’456’, (‘192.168.3.13’, 56050))

(接收到的数据, (发送方的ip, port))