你的位置:首页 > 软件开发 > 操作系统 > iOS 的 TCP/IP 协议族剖析 Socket

iOS 的 TCP/IP 协议族剖析 Socket

发布时间:2016-03-02 14:00:05
简介该篇文章主要回顾–TCP/IP协议族中的TCP/UDP、HTTP;还有Socket。(--该文很干,酝酿了许久!你能耐心看完吗?O_o)我在这个文章中,列举了常见的TCP/IP族中的协议,今天主角是--传输层协议。传输层(Transport Layer)是 ...

iOS 的 TCP/IP 协议族剖析  Socket

简介

该篇文章主要回顾–TCP/IP协议族中的TCP/UDP、HTTP;还有Socket。(--该文很干,酝酿了许久!你能耐心看完吗?O_o)

我在这个文章中,列举了常见的TCP/IP族中的协议,今天主角是--传输层协议。

传输层(Transport Layer)是OSI(七层模型)中最重要、最关键的一层,它负责总体的数据传输和数据控制的一层,传输层提供端到端(应用会在网卡注册一个端口号)的交换数据的机制,检查分组编号与次序。传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息。

传输层中的协议

  • 传输层它为应用层提供会话和数据报通信服务。
  • 传输层承担OSI传输层的职责。
  • 传输层的核心协议是TCP和UDP。

    TCP工作过程比较复杂,包括的内容如下。

    • TCP连接关闭:发送方主机和目的主机建立TCP连接并完成数据传输后,会发送一个将结束标记置1的数据包,以关闭这个TCP连接,并同时释放该连接占用的缓冲区空间。
    • TCP重置:TCP允许在传输的过程中突然中断连接。
    • TCP数据排序和确认*:在传输的过程中使用序列号和确认号来跟踪数据的接收情况。
    • TCP重传:在TCP的传输过程中,如果在重传超时时间内没有收到接收方主机对某数据包的确认回复,发送方主机就认为此数据包丢失,并再次发送这个数据包给接收方。
    • TCP延迟确认:TCP并不总是在接收到数据后立即对其进行确认,它允许主机在接收数据的同时发送自己的确认信息给对方。
    • TCP数据保护(校验):TCP是可靠传输的协议,它提供校验和计算来实现数据在传输过程中的完整性。

    用户数据报协议(UDP)

    UDP全称是User Datagram Protocol,中文名为用户数据报协议。UDP 提供无连接的网络服务,该服务对消息中传输的数据提供不可靠的、最大努力传送。这意味着它不保证数据报的到达,也不保证所传送数据包的顺序是否正确。

    HTTP协议

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。

    端口的打开是双方的,在C/S(Client&&Server)结构的TCP连接中不仅仅要注意到S的端口(监听的),实际上C也开了一个端口,而C端的端口是动态端口,TCP连接建立的时候,C端的端口会在三次握手结束后确定,动态打开一个,这个端口不受用户/程序员的控制。

    Socket C 端书写步骤

    1. 创建客户端Socket
    2. 创建服务器Socket
    3. 连接到服务器(Socket编程)
    4. 发送数据给服务器
    5. 接收服务器返回的数据
    6. 关闭Socket : close(socketNumber)

    一张经典的Socket C/S的步骤图。

    iOS 的 TCP/IP 协议族剖析  Socket 

     

       1.  导入头文件

    S端socket通信步骤

      1. 提供一些服务
      2. 将这个服务与自己的IP地址、端口绑定
      3. 监听任何到这个IP+端口的TCP请求
      4. 接受/拒绝建立这个TCP连接
      5. 读写
      6. 断开TCP连接
      7. 问啊-一键呼叫程序员答题神器,牛人一对一服务,开发者编程必备官方网站:www.wenaaa.com

        QQ群290551701 聚集很多互联网精英,技术总监,架构师,项目经理!开源技术研究,欢迎业内人士,大牛及新手有志于从事IT行业人员进入!


     

    海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

    原标题:iOS 的 TCP/IP 协议族剖析 Socket

    关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。