多协议支持

    在WorkerMan中最简单的实现方法是开启多个端口,每个端口使用一种协议。不同客户端使用各自的协议去连特定的端口。

    小蝌蚪应用程序是运行在PC浏览器里面的,使用Websocket协议与WorkerMan通讯,当我们需要把它移植到手机App上却没有合适的客户端Websocket库时,我们可以使用更简单的协议来实现App与WorkerMan通讯,例如Text文本协议(协议规则为 文本+换行符)。

    下面是开启多端口支持多协议示例

    重新启动

    测试效果

    由于是Text文本协议,我们可以通过telnet命令方便的模拟文本协议客户端。以下运行telnet命令的结果

    1. Trying 127.0.0.1...
    2. Escape character is '^]'.
    3. {"type":"update","id":156,"angle":4.27,"momentum":0,"x":-64.8,"y":147.1,"life":1,"name":"Guest.156","authorized":false}
    4. {"type":"update","id":156,"angle":6.284,"momentum":3,"x":-58.8,"y":146.7,"life":1,"name":"Guest.156","authorized":false}

    说明:

    以上是WorkerMan多协议支持示例,我们看到只需要简单的初始化端口及协议即可,服务端的业务代码不用任何更改。开发者也可以使用其它协议初始化端口,也可以参考《定制通讯协议章节》定义自己的协议

    以上是Gateway/Worker模型的多协议支持示例,基于Worker的多协议也是同样的道理