iOS开发之TCP/UDP/Socket简单介绍

1. UDP
UDP 是一种不可靠的网络协议。( qq 用的是这个协议)
UDP
User Datagram Protocol 的简称, 中文名是用户数据报协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务, IETF RFC 768 UDP 的正式规范。
UDP
协议基本上是 IP 协议与上层协议的接口。

UDP
协议的全称是用户数据报协议,在网络中它与 TCP 协议一样用于处理数据包,是一种无连接的协议。在 OSI 模型中,在第四层 —— 传输层,处于 IP 协议的上一层。 UDP 有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。 UDP 用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户 / 服务器模式的网络应用都需要使用 UDP 协议。 UDP 协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天 UDP 仍然不失为一项非常实用和可行的网络传输层协议。与所熟知的 TCP (传输控制协议)协议一样, UDP 协议直接位于 IP (网际协议)协议的顶层。根据 OSI (开放系统互连)参考模型, UDP TCP 都属于传输层协议。
   UDP 协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前 8 个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。(详见: http://baike.baidu.com/view/30509.htm


2. TCP
TCP
Transmission Control Protocol 传输控制协议 TCP 是一种面向连接(连接导向)的、可靠的、基于字节流的运输层( Transport layer )通信协议,由 IETF RFC 793 说明( specified )。在简化的计算机网络 OSI 模型中,它完成第四层传输层所指定的功能, UDP 是同一层内另一个重要的传输协议。
应用层向 TCP 层发送用于网间传输的、用 8 位字节表示的数据流,然后 TCP 把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元( MTU )的限制)。之后 TCP 把结果包传给 IP 层,由它来通过网络将包传送给接收端实体的 TCP 层。 TCP 为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认( ACK );如果发送端实体在合理的往返时延( RTT )内未收到确认,那么对应的数据(假设丢失了)将会被重传。 TCP 用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算和校验。 (详见: http://baike.baidu.com/view/32754.htm

3. socket
socket
的英文原义是 插座
客户软件将插头插到不同编号的插座,就可以得到不同的服务。
常用的 Socket 类型有两种:
   
流式 Socket SOCK_STREAM )和数据报式 Socket SOCK_DGRAM )。流式是一种面向连接的 Socket ,针对于面向连接的 TCP 服务应用;
    数据报式 Socket 是一种无连接的 Socket ,对应于无连接的 UDP 服务应用。(详见: http://baike.baidu.com/view/13870.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值