2012-05-20 32 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

相關問題