非常感谢各位高手解惑
On Thursday, October 29, 2015 at 9:25:05 AM UTC+8, doujiang wrote:
Hello,
在 2015年10月29日 上午12:30,roger
<feihu...@gmail.com>写道:
原系统S是一个tcp长链接服务器, 有专有协议p
现在有新的客户端, 以websocket协议对外沟通的,
现在新客户端C, 想和S沟通,
设想是用openresty开发一个websocket协议到专用协议P的 转发程序
你说的应该是这个意思吧?
C (1. websocket) ==> OpenResty (2. 专有协议 p) ===> S
如果是,那么
1. websocket 用 lua-resty-websocket 是很合适的
2. 专有协议 p,需要你用 cosocket 来实现
3. 中间的转换逻辑,就要根据两端具体的协议来实现了(如果协议不复杂的话,应该也比较简单)
如果是这样的话,一个 websocket 长连接,一个 cosocket 长连接 就可以完成一次会话
是的, 就是你图示中的这个意思, 可能是我表述的不是很清楚, 两段都是长连接,
初步想了一下, 不知道应该是用openresty 的lua-resty-websocket来实现,
还是upsteam的途径去实现.
以我的理解,不太明白 upstream 的实现方式,如果是需要开发 C module 的话,还是上面一种要简单得多 :)
哦, 我以为openresty可以去操作upstream的, 那可能是我理解它的问题了,
没想到用C module去开发了(那样自己独立写一个更方便了, golang什么的)
注, 没用过openresty写过代码, 只对其有一点了解.
--