使用websockets部署应用程序是全新的,所以我觉得我错过了一些东西。我在Debian 8实例上使用Tomcat 8.5。我已经完成了在GCE上部署它的步骤:
负载均衡器看起来像this。
我的javascript创建了这样的websocket(VDMServer是.war的名字):
var websocket = new WebSocket("ws://[EXTERNALIP]/VDMServer/gameServerEndpoint");
以下是我制作服务器端点类的方法:
@ServerEndpoint("/gameServerEndpoint")
public class GameServerEndpoint {
...
}
我可以访问虚拟实例的外部IP和我的应用程序页面上的网站,但即使尝试Tomcat的websocket示例也会出错:
WebSocket握手期间出错:意外的响应代码:404
这也是我的serverc中的Connecter在/ var / lib / tomcat8 / conf中的样子:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
还看到了不包括javax websocket库的解决方案,所以我确保不要这样做。 Here's what my .war's lib folder looks like.那不应该影响tomcat的例子吗?
对此案例的任何帮助都会非常感激,一直在寻找一种方法来解决这个问题。谢谢!
答案 0 :(得分:0)
在我的情况下,当我部署战争而不导出任何源文件时,它就可以工作。