pomelo源码解析之通讯协议
pomelo的通讯协议有以下几种:
hybridconnectors
mqttconnector
sioconnector
udpconnector
在创建项目时就可以选择,当然,也可以手动的切换:
在我们加载pomelo时
pomelo就已经自动加载了每一个协议文件。
然后我们在game_server/app.js中设置我们选择的协议,
在红框的位置,我们能够选择我们自己需要的协议内容。
今天来讲聊下hybridconnector协议在pomelo项目中如何实现通讯。
在本文第一张图中,我们已经看到hybridconnector协议已经被加载到pomelo.connectors.hybridconnector这个变量中。
打开hybridconnector.js
此处为协议对象。也即是pomelo.connectors.hybridconnector对象。这个对象在connector.js对象中被使用,本文暂且不讲,先说说协议的重点代码
就是此处的start函数中,通过查看代码,我们发现start函数中通过net模块加载创建监听端口
监听connection事件,当存在socket请求时,调用gensocket函数,封装socket,发起connection事件。至此一个完整的socket请求已经完成。只需要我们在外部加上对Connector对象的connection事件监听,即可进行网络通讯。
以上是对pomelo协议部分源码查看的顺序,以及粗浅的分析。理解与文笔有限。勿怪。