多协议支持
在WorkerMan中最简单的实现方法是开启多个端口,每个端口使用一种协议。不同客户端使用各自的协议去连特定的端口。
小蝌蚪应用程序是运行在PC浏览器里面的,使用Websocket协议与WorkerMan通讯,当我们需要把它移植到手机App上却没有合适的客户端Websocket库时,我们可以使用更简单的协议来实现App与WorkerMan通讯,例如Text文本协议(协议规则为 文本+换行符)。
下面是开启多端口支持多协议示例
重新启动
测试效果
由于是Text文本协议,我们可以通过telnet命令方便的模拟文本协议客户端。以下运行telnet命令的结果
Trying 127.0.0.1...
Escape character is '^]'.
{"type":"update","id":156,"angle":4.27,"momentum":0,"x":-64.8,"y":147.1,"life":1,"name":"Guest.156","authorized":false}
{"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的多协议也是同样的道理