2012-08-01 128 views
2

谷歌搜索的tomcat和websockets已經透露了很多關於如何在Tomcat中實現WebSockets的頁面,以及如何設置一般的SSL/TLS,但還不清楚如何使用兩者。在SSL howto(http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Configuration)中,創建了一個用於HTTPS的連接器。對於WSS是否存在類似的連接器?如果是這樣,我給這些屬性輸入了什麼確切的字符串值?tomcat是否支持安全的websockets?

+0

「關於如何在Tomcat中實現WebSockets的頁數」是什麼? – EJP 2012-08-02 00:14:33

+0

@EJP不幸的是,由於新的用戶對發佈鏈接的限制,我不能鏈接到實際的網站,但是有關Tomcat Websocket實現的多個教程,而不考慮安全連接。當我獲得更多代表時,我將在稍後編輯鏈接以幫助下一個人。 :) – 2012-08-02 16:28:39

回答

4

任何Tomcat <Connector>(包括支持該HTTPS的那些)都可以接受websocket請求。基本上,支持連接器(BIO,NIO,AJP,安全和非安全)和協議(HTTP,Comet,websocket)的任意組合。

+0

謝謝。我所缺少的是WebSockets作爲HTTP連接啓動,然後一旦建立就升級到套接字連接。因此,不需要單獨的連接器。 – 2012-08-02 18:27:13

+0

像Chris說的那樣...... – Pidster 2012-08-02 20:44:39

+0

對,@JonathanPullano,在Tomcat中沒有像「Websocket Connector」這樣的東西:任何連接器都可以。 – 2012-08-03 03:31:52

2

基本上WebSocket並沒有像普通的Socket實現那樣擁有自己的端口。相反,它使用與其部署的服務器相同的端口(例如,用於tomcat的8080)。所以,如果您在連接器上進行必要的更改以允許https,那麼您的websocket將自動使用https端口。

我推薦使用Tomcat 7.0.42或更高版本,這對於WebSocket是穩定的。

還要注意 - 您需要在客戶端(瀏覽器/手機等)使用WebSocket的'wss'而不是'ws'。