PD一般是周期性传输数据,协议规定通信方式为UDP。之前学习基于socket通信时,也只是知道UDP和TCP相比,UDP是面向无连接的,具体还怎么使用过,这次PD的收发包模型可以好好学习一波了!!! UDP,用户数据包协议,属于传输层协议。传输数据时,不与对面先连接,而是直接把数据传送给对方。因此,UDP适用于传送数据量少,对可靠性要求不高的场景。例如比较常见的SNMP协议,TFTP协议,DNS协议等。如果SNMP协议每次请求MIB数据都需要先三次握手的话,那效率也太低了。 UDP协议通信流程非常简单。Client一般只要socket()一个socket,从而使用sendto()就可以向目的地址发送数据报了。Server一般socket()一个socket,对这个socket进行bind(),绑定端口号和IP,使用recvfrom就可以收到发送给自己的数据报了,如果需要回应,使用sendto()就可以发送了。当然,最后我们都需要close()申请的socket。
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |