美文网首页iOS Development程序员iOS学习笔记
IOS-Socket概念和通信流程(一)

IOS-Socket概念和通信流程(一)

作者: 温学振 | 来源:发表于2018-03-01 17:27 被阅读13次

    Socket概念

    • Socket又称"套接字"

    • 网络上的2个程序(客户端,服务端)通过一个双向的通信连接实现数据的交换(发送数据请求给服务端,服务端返回数据),这个连接的一端称为一个socket

    • 应用程序通常通过"套接字"想网络发出请求或者应答网络请求


      socket原理
    • IP地址(找服务器):网络上主机设备的唯一标识 (每个服务器都不一样)

    • 端口号(定位应用程序):找到服务器(电脑)的哪个进程(应用程序)有效:0~65535

    • 传输协议:TCP和UDP是传输方式,而HTTP/XMPP是数据传输格式

    • 1、TCP(传输控制协议):用什么方式进行客户端和服务端的交互
      1):建议连接,形成传输数据的通道。(插起电话线)http的连接方式就是TCP
      2):在连接中进行大数据传输(数据大小不受限制)(随便打多久电话)
      3):通过3次握手完成连接,是可靠协议,安全送达 (发送连接(打电话)-服务端相应(对方说话保证自己听到)-客户端回应(自己说话保证对方听到))
      4):必须建立连接,效率会稍低

    • 2、UDP(用户数据报协议)
      1):将数据及源(自己的IP地址)和目的(别人的IP地址)封装成数据包中,不需要建立连接(没有3次握手)
      2):每个数据报大小限制在64K之内
      3):无需连接,不可靠协议(服务端/客户端可能会接受/发送不到数据 )
      4):无需连接,速度快

    Socket通信流程

    Socket通信流程
    • 客户端长连接(即时通讯)和短连接(请求完服务器后就断开了与服务器的连接) 保存数据时间的问题,通常我们在即时通讯中要求长连接保证通讯的流畅性

    相关文章

      网友评论

        本文标题:IOS-Socket概念和通信流程(一)

        本文链接:https://www.haomeiwen.com/subject/uwjexftx.html