UDP介绍: https://baike.baidu.com/item/UDP/571511?fr=aladdin 详细介绍
总结:
1、无连接连接
2、UDP传输的可靠性由应用层负责 应用层协议:DNS 53 TFTP 69 SNMP 161
3、过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序
4、UDP 结构
5、分层封装:在TCP/IP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使用IP层传送数据报。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。
udp 包括接收和发送 如下代码解析:
发送:sendto()
简述:向一指定目的地发送数据。
#include
int PASCAL FAR sendto( SOCKET socket, const char FAR* buffer, int length:buf, int flags, const struct sockaddr FAR* to, int tolen);
socket:一个标识套接口的描述字。
buffer:包含待发送数据的缓冲区。
length:buf缓冲区中数据的长度。
flags:调用方式标志位。
to:(可选)指针,指向目的套接口的地址。
tolen:to所指地址的长度。
使用只需制定目标 desAddIP port 即可
接收: recvfrom()
简述:接收一个数据报并保存源地址。
#include
int PASCAL FAR recvfrom( SOCKET s, char FAR* buf, int len, int flags,
struct sockaddr FAR* from, int FAR* fromlen);
s:标识一个已连接套接口的描述字。
buf:接收数据缓冲区。
len:缓冲区长度。
flags:调用操作方式。
from:(可选)指针,指向装有源地址的缓冲区。
fromlen:(可选)指针,指向from缓冲区长度值。
使用只需制定目标 在原来的socket 绑定port 监听 port 即可
封装oc代码:
github 代码: 过几天就放源代码