分析的是hybridconnector,使用的chatofpomelo-websocket(pomelo为0.7.0)
参考:https://github.com/NetEase/pomelo/wiki/Pomelo-通讯协议
http://cnodejs.org/topic/51395fd0df9e9fcc5882576c
客户端握手:
pomelo在init时候,创建WebSocket连接,并定义onopen onmessage回调,
连接建立后,onopen被回调,客户端首先发送握手包var obj = Package.encode(Package.TYPE_HANDSHAKE, Protocol.strencode(JSON.stringify(handshakeBuffer)));
参数为,如果version在客户端有缓存,将使用缓存{
'sys': {
'version': '1.1.1',
'type': 'js-websocket'
},
'user': {
// any customized request data
}
}
这个方法中,package格式为type,length,body,传入的参数为type和body,
服务端发回message,在onmessage中处理服务器到客户端的握手响应,服务端发回的参数
{
'code': 200, // result code
'sys': {
'heartbeat': 3, // heartbeat interval in second
'dict': {}, // route dictionary
'protos': {} // protobuf definition data
},
'user': {
// any customized response da