【正点原子阿尔法 IMX6ULL Linux开发板】第6篇 UDP编程测试
[复制链接]
udp 是一个面向无连接的,不安全的,报式传输层协议,udp 的通信过程默认也是阻塞的。
- UDP通信不需要建立连接 ,因此不需要进行 connect () 操作
- UDP通信过程中,每次都需要指定数据接收端的IP和端口,和发快递差不多
- UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息
- UDP对接收到的数据报不回复确认信息,发送端不知道数据是否被正确接收,也不会重发数据。
- 如果发生了数据丢失,不存在丢一半的情况,如果丢当前这个数据包就全部丢失了
查看了PYTHON网络编程的书籍
例程主要用来创建一个udp客户端的
服务器采用PC机上运行一个网络测试工具
SSH登录开发板
1创建文件夹
2复制py文件到test文件夹
Py文件程序
#!/usr/bin/python3
# -*- coding: utf-8 -*-
from time import sleep
import socket
def main():
# udp 通信地址,IP+端口号 主机IP
udp_addr = ('192.168.0.107', 7878)
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送数据到指定的ip和端口,每隔1s发送一次,发送10次
for i in range(10):
udp_socket.sendto(("Hello,I am a UDP socket for: " + str(i)) .encode('utf-8'), udp_addr)
print("send %d message" % i)
sleep(1)
# 5. 关闭套接字
udp_socket.close()
if __name__ == '__main__':
main()
3主机打开网络工具
这个工具一直在用,真的挺好用的
4运行py文件
sudo python3 cbudp.py
5.查看测试结果
注意这里的IP填写的是本机主机的IP
端口号与开发板的端口号保持一致
|