如何使用Nginx/Openresty将tcp流复用到多个websocket客户端?

我有一个设置,一些TCP客户端连接到我的服务器上的程序。我想在它们之间插入nginx,使得tcp连接从客户端-> nginx->程序。这样我就可以接入流并让websocket客户端请求一个流的数据。

我已经能够使用https://github.com/openresty/stream-lua-nginx-module创建一个TCP监听套接字,接收数据并使用ngx.socket.tcp()连接到外部程序。 另外,我还使用lua-resty-websocket创建了一个websocket服务器(每个会话需要连接到其中一个流,多个这样的会话可能连接到单个流)。

websocket上下文如何连接到该流?

点赞
用户1559271
用户1559271

如果要在不改变外部程序的情况下与 WebSocket 客户端进行通信,则需要将 Nginx 作为“翻译器”放在中间?

如果是这样的话,也许 https://github.com/openresty/lua-resty-websocket 会很有帮助。

2016-11-11 06:35:36