1. WebSocket协议是 :

    基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——可以通俗的解释为服务器主动发送信息给客户端.

2. 区别于MQTTXMPP等聊天的应用层协议:

    它是一个传输通讯协议。它有着自己一套连接握手,以及数据传输的规范

SRWebSocket就是iOS中使用websocket必用的一个框架.

4 SRWebSocket的对外的业务流程: SRWebSocket的API调用代码

- (void)connectServer ,didReceiveMessage,webSocketDidOpen,didFailWithError ,didCloseWithCode

5 初始化数据

  • 包括对schem进行断言,只支持ws/wss/http/https四种。
  • 当前socket状态,是正在连接,还是已连接、断开等等。
  • 初始化工作队列,以及流回调线程等等。
  • 初始化读写缓冲区:_readBuffer_outputBuffer

6  输入输出流的创建及绑定:在这里,我们根据传进来的url,类似ws://localhost:80,进行输入输出流CFStream的创建及绑定,到这里,初始化工作就完成了,接着我们调用了open开始建立连接

7 open方法定义了一个超时,如果超时了还在SR_CONNECTING,则报错,并且断开连接,清除一些已经初始化好的参数。