--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html
原系统S是一个tcp长链接服务器, 有专有协议p现在有新的客户端, 以websocket协议对外沟通的,现在新客户端C, 想和S沟通,设想是用openresty开发一个websocket协议到专用协议P的 转发程序
初步想了一下, 不知道应该是用openresty 的lua-resty-websocket来实现,还是upsteam的途径去实现.
nginx的会话资源回收都是在这个请求完毕的时候集体释放的。所以对于基于 nginx + lua 的 openresty ,目前还不适合在一次会话中有大量、反复的子请求使用。
还好的是 openresty 准备近期解决反复使用 cosocket 占用过多 pool 内存的问题。
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 的话,还是上面一种要简单得多 :)
hello,院生哈哈,看来我跟你的理解还不大一样 :)
在 2015年10月29日 上午8:00,YuanSheng Wang <yuan...@iresty.org>写道:nginx的会话资源回收都是在这个请求完毕的时候集体释放的。所以对于基于 nginx + lua 的 openresty ,目前还不适合在一次会话中有大量、反复的子请求使用。我的理解里,两边都是长连接,并不需要子请求呢还好的是 openresty 准备近期解决反复使用 cosocket 占用过多 pool 内存的问题。如果私有协议也是长连接的话,那么就一次会话,一个长连接
> 也就是 socket 的 buffer 都是在 request pool 里申请的,而 buffer 是可以复用的,所以问题不大这个我还真的需要看看代码了,我一直以为是每次都是新申请buffer。 多谢。