我尝试在 Wicket 应用程序中实现一些 WebSocket 相关代码。有些事情我不明白。如何在单个页面中创建更多连接?
查看文档:
当客户端连接时,它将在应用程序范围的注册表中注册,使用应用程序名称,客户端http会话ID,页面ID或注册它的资源名称作为键。稍后当服务器需要推送消息时,它可以使用此注册表来过滤哪些客户端需要接收消息。
和
通过向组件添加(Base)WebSocketBehavior,Wicket将提供wicket-websocket-jquery.js库,它提供了一些辅助函数来编写客户端代码。每个Wicket页面都有一个默认的websocket连接,您可以使用它,如:
Wicket.WebSocket.send('{msg: "my message"}');
如果您需要更多WebSocket连接,则可以执行以下操作:
var ws = new Wicket.WebSocket();
ws.send('message');
如果我使用new Wicket.WebSocket()
方法,我怎样才能从连接注册表中获取注册连接? IWebSocketConnectionRegistry
允许通过由Application,sessionId和pageId组成的密钥来获取连接。
答案 0 :(得分:0)
The DefaultWebSocketConnectionRegistry supports only one connection by key, but you can use your own impl of a registry to have a list per key.
Why do you need the second connection? Usually an application needs just one connection and uses the structure of the response message (e.g. JSON with some differentiator key) to decide how to process it in the browser.