socketIO Client 的实现流程

基于socketIO 1.x的版本 服务端:http://localhost:3007

1.获取sid

http get

request:http://localhost:3007/socket.io/?transport=polling&b64=1&sid


response:
97:0{"sid":"wEnc-Ds06m0oZ1z_AAAM","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}

解析上述信息可以得出sid
解析的流程是
1.读出第一个:的位置 前面的字符串转成int值 就是从:开始后数据结尾的长度
2.得到json格式的数据体
3.获取相关值 sid   upgrades  pingInterval pingTimeout

2.创建ws连接

连接格式:ws://localhost:3007/socket.io/?transport=websocket&sid={sid}
sid的值就是之前获取的sid

3.发送http的Ping 直到ws连接成功

http get
  request:http://localhost:3007/socket.io/?transport=polling&b64=1&sid={sid}

  response:
  返回些数据

4.在ws没连接成功前 client向server 通过emit行为发送的数据是以http post的方式提交的

http post
    request:http://localhost:3007/socket.io/?transport=polling&b64=1&sid={sid}

	response:
	服务端应答的数据

5.ws连接成功后

   首先发送2probe的textframe过去 服务端应答一个3probe的textframe 这样与socketio服务端的连接就算完成建立了

阅读量: