2012-08-01 130 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'。