Javascript中的WebSocket未连接到servlet
我试图使用Javascript websockets连接到Java servlet,但总是调用onError函数,并且没有提供太多信息。我的javascript:Javascript中的WebSocket未连接到servlet,java,javascript,servlets,websocket,amazon-elastic-beanstalk,Java,Javascript,Servlets,Websocket,Amazon Elastic Beanstalk,我试图使用Javascript websockets连接到Java servlet,但总是调用onError函数,并且没有提供太多信息。我的javascript: var webSocket = new WebSocket('ws://localhost:8080/test'); webSocket.onerror = function(event) { onError(event); }; webSocket.onclose = function(event) { onClos
var webSocket = new WebSocket('ws://localhost:8080/test');
webSocket.onerror = function(event) {
onError(event);
};
webSocket.onclose = function(event) {
onClose(event);
};
webSocket.onopen = function(event) {
onOpen(event);
};
webSocket.onmessage = function(event) {
onMessage(event);
};
function onClose(event) {
var code = event.code;
var reason = event.reason;
var wasClean = event.wasClean;
alert(code + "; " + reason + "; " + wasClean);
}
function onMessage(event) {
//do stuff
}
function onOpen(event) {
webSocket.send('opening socket');
}
function onError(event) {
alert(event.message);
}
对于我的servlet,我有
@ServerEndpoint("/test")
public class TranscoderSNSServlet extends HttpServlet {
...
}
我能找到的唯一有用的错误代码是event.code=1006,event.wasClean=false。我使用的浏览器肯定支持WebSocket。我试着在ElasticBeanstalk上运行这个。非常感谢您的帮助好的,您尝试在“ElasticBeanstalk”上运行此程序,但ElasticBeanstalk是否正在侦听端口8080上的本地主机,以及您的本地防火墙是否允许该流量?它通过Amazon部署到EBS。我尝试了大量的URI组合,包括EBS URL本身(xxx.elasticbeanstalk.com)。我启用了它正在使用的ec2实例的所有流量,但是没有很好的帮助,那么你应该联系Amazon支持,而不是在SO上发布。这显然是SO可以帮助的,因为我看到很多人在AWS上发布请求帮助的帖子。