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

Socket概念

  • Socket又称"套接字"

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

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


    IOS-Socket概念和通信流程(一)_第1张图片
    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通信流程

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

你可能感兴趣的:(IOS-Socket概念和通信流程(一))