iOS学习iOS Developer

初识TCP/UDP

2017-06-07  本文已影响29人  浪里小青龙

计算机网络七层协议结构(OSI),由底层向上:

物理层->数据链路层->传输层->网络层->会话层->表示层->应用层 //欲详细了解每个层次请转到(http://blog.csdn.net/yaopeng_2005/article/details/7064869)
我们所关注的 tcp/udp 协议就在传输层. (ps. 网络层- ip 协议, 应用层- http 协议)

socket通信:

通常为 TCP 连接, socket 通信可以抽象的理解为是连接应用层与传输层的管道,两层间复杂的操作都被抽象成为 socket 通信接口.是对 TCP/IP 的封装
通信的三个步骤: 服务端利用 socket 监听端口 -> 客户端发起连接请求 -> 服务端返回确认信息,建立通信
下图就是 socket 通信的流程(图片来源于网络)

05232335-fb19fc7527e944d4845ef40831da4ec2.png

S 服务端: 创建 socket. 根据ip 地址类型(ipv4,ipv6), socket 类型,协议
S 服务端: 绑定 socket ip 地址与端口号
S 服务端: 监听端口号请求
C 客户端: 创建 socket
C 客户端: 打开 socket, 根据ip 地址跟端口号尝试连接服务端socket
S 服务端: 服务端 socket 接收到服务端 socket 请求,开始接收客户端请求, 等待客户端返回连接. 此时, 服务端socket 进入阻塞状态, 即accept() 方法一直在等待客户端返回连接信息
C 客户端: 连接成功,发送连接状态信息
S 服务端: accept() 方法返回信息,连接成功
C 客户端: 往 socket写入信息发送给服务端
S 服务端: 读取 socket 信息
C 客户端: 关闭 socket
S 服务端: 关闭 socket

接下来简单认识下 TCP/UDP

定义

tcp:传输控制协议
udp:用户数据包协议

特点

tcp:
udp:
上一篇下一篇

猜你喜欢

热点阅读