udp 原理 使用 iOS 基于socket的学习

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  代码:   过几天就放源代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 网络模型 物理层 物理层表示的是比特流传输,通常包括串口/COM口、并行/LPT口、USB、网线接口、电话线接口;...
    秋风弄影阅读 4,114评论 0 2
  • 一 、Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 Socket。S...
    空白Null阅读 5,781评论 1 9
  • 一、Socket简介Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程...
    小吖朱阅读 2,755评论 0 1
  • 这个点,正常情况下是进入梦乡的,可实在是睡不着,并非失眠,而是脚酸痛无比。 下午去超市,让可爸陪着,可可和佩佩也一...
    小丫屠阅读 1,787评论 0 0
  • 我们大多数人都是孤身一人面对这个世界——白百何 今天看到新闻说,白百何已经对之前出轨之事做了正面的回应,在这我不洗...
    初心莫阅读 3,101评论 0 0

友情链接更多精彩内容