WebSocket Javascript客户端未从服务器接收消息
我已经在本地GlassFish 4.1服务器上部署了一个Java web应用程序,该服务器实现了WebSocket以与web客户端交互操作。我能够通过套接字成功地执行客户机到服务器的通信,但由于某些原因,服务器到客户机的通信不起作用 向客户端发送消息的Java代码:WebSocket Javascript客户端未从服务器接收消息,javascript,java,websocket,Javascript,Java,Websocket,我已经在本地GlassFish 4.1服务器上部署了一个Java web应用程序,该服务器实现了WebSocket以与web客户端交互操作。我能够通过套接字成功地执行客户机到服务器的通信,但由于某些原因,服务器到客户机的通信不起作用 向客户端发送消息的Java代码: try { String msg = ServerClientInteropManager.toResponseJSON(response); parentSession.getBasicRemote().send
try
{
String msg = ServerClientInteropManager.toResponseJSON(response);
parentSession.getBasicRemote().sendText(msg);
FLAIRLogger.get().info("Sent response to client. Message: " + msg);
}
catch (IOException ex) {
FLAIRLogger.get().error("Couldn't send message to session " + parentSession.getid() + ". Exception - " + ex.getMessage());
}
Javascript代码:
pipeline_internal_onMessage = function(event)
{
var msg = JSON.parse(event.data);
console.log("Received message from server. Data: " + event.data);
};
function pipeline_init()
{
if (PIPELINE !== null || PIPELINE_CONNECTED === true)
{
console.log("Pipline already initialized");
return false;
}
else
{
var pipelineURI = "ws://" + document.location.host + document.location.pathname + "webranker";
console.log("Attempting to establish connection with WebSocket @ " + pipelineURI);
if ('WebSocket' in window)
PIPELINE = new WebSocket(pipelineURI);
else if ('MozWebSocket' in window)
PIPELINE = new MozWebSocket(pipelineURI);
else
{
console.log("FATAL: No WebSockets support");
alert("This browser does not support WebSockets. Please upgrade to a newer version or switch to a browser that supports WebSockets.");
return false;
}
// the other event listeners get added here
PIPELINE.onMessage = pipeline_internal_onMessage;
PIPELINE_CONNECTED = true;
window.onbeforeunload = function() {
pipeline_deinit();
};
console.log("Pipeline initialized");
return true;
}
}
即使服务器成功调用sendText()方法,onMessage函数也不会被激发。使用AsyncRemote会产生相同的结果。两端的onError侦听器也不报告任何内容。这是我第一次使用套接字,所以我可能遗漏了一些基本的东西 更换
PIPELINE.onMessage = pipeline_internal_onMessage
与
详情请参阅
PIPELINE.onmessage = pipeline_internal_onMessage