我有一个java web应用程序(基于Servlet和JSP),在本地机器上运行,使用HTML5和Java WebSocket api进行聊天。可以与在同一应用程序上登录的其他用户聊天(使用两种不同的浏览器)。
我创建了相同项目(Web应用程序)的副本,并更改了所需的配置以将其作为不同的Web应用程序运行。我想要的是登录的用户,例如web-app1,可以与登录web-app2的用户聊天。
以下是ServerEndpoint注释的代码片段和连接websocket端点的JavaScript代码
@ServerEndpoint(value = "/chat/{sessionId}",
encoders = ChatMessageCodec.class,
decoders = ChatMessageCodec.class,
configurator = ChatEndpoint.EndpointConfigurator.class)
@WebListener
public class ChatEndpoint implements HttpSessionListener
{
.....
.......................
var server;
try {
server = new WebSocket('ws://' + window.location.host +'<c:url
value="/chat/${chatSessionId}" />');
server.binaryType = 'arraybuffer';
}
catch(error) {
modalErrorBody.text(error);
modalError.modal('show');
return;
}
我是java web开发的新手,这个Web应用程序是我正在遵循的书中项目的一部分:|
答案 0 :(得分:0)
我认为您最好使用消息队列进行两个或更多JVM之间的通信。 WebSocket不是这类任务的理想解决方案