-
pomelo/lib/connectors
4个模块都是服务器,都是继承自EventEmitter,只是支持的通信协议有差别
-
1. sioconnector
通信协议:基于socket.io的websocket
消息流:json明文
内部加密: 无
外部加密:encode并没有实现
支持参数:心跳,心跳超时,关闭超时等
返回的socket: siosocket代码结构:
导出的是一个函数Connector,也就是说是用该模块需要这样:
var sio = require(‘sioconnector’)(port, host, opts);或者使用new创建
返回的sio有如下接口:
start();
stop();
encode(reqId, route, msg);
decode(msg);在start中启动后,会调用socket.io创建一个http服务器,设置一些属性
当接收到’connection’消息后,会创建一个SioSocket对象把真正的socket封装一层
这里也会发送一次’connection’供上层调用:
var sio = require('sioconnector')(port, host, opts)