2012-05-20 30 views
3

我有一个web套接字服务器实现使用Netty(说在端口8081上监听)和一个单独的Spring web应用程序运行在Tomcat(运行在端口80)。集成websockets使用netty和Spring web应用程序运行在tomcat

我想以某种方式将所有来自localhost:80/Websocket的请求转发到端口8081上的Netty服务器。这是否可能。因为Tomcat和spring是建立在http协议之上的,所以idk怎么可能。

我想要做的就是使用websocket从我现有的spring web应用程序启用服务器推送。有什么建议么?

回答

2

最简单的方法很可能是把一个nginx的服务器前面,并将它转发请求/ WebSockets的,但是因为WebSockets的不是HTTP 1.0,你不能正常使用的ProxyPass指令,但根据http://www.letseehere.com/reverse-proxy-web-sockets它通过一个特殊的可能插件

+0

听起来像我需要的东西。今天晚些时候我会试试这个。 –

1

看看下面的2个链接,显示如何使用spring配置netty。我在wherin一个网状插槽服务器的tomcat中运行的Grails做了,听二进制包的特定端口(而不是http)

link1 link2

0

为什么不直接使用最新的Tomcat WebSocket的支持上(7.0.27)?

+0

根据tomcat 7网站上的文档,tomcat 7中的Websocket支持不稳定,这反过来又是由于websocket协议本身没有最终确定。看到这个警告,我尝试了在tomcat中使用spring配置的Netty websocket服务器,而且它工作正常。 – Rndm

+0

不,Tomcat功能尚未完成,因为它是Servlet 3.1所需的可能实现之前的原型,可能会支持WebSocket;该协议本身于去年敲定。 – Pidster

相关问题