连接打开后如何从javax websocket服务器获取消息
Posted
技术标签:
【中文标题】连接打开后如何从javax websocket服务器获取消息【英文标题】:How to get message from javax websocket server when connection has been opened 【发布时间】:2018-05-15 09:56:13 【问题描述】:我已经编写了一个简单的 javax websocket 应用程序。我正在尝试通过会话将数据从 @OnOpen 方法发送到客户端,就像这样
@OnOpen
public void onOpen(Session session) throws IOException
session.getBasicRemote().sendText("Client connected");
然后我正在尝试接收它,但在客户端得到 undefined
ws.onopen = function(event)
document.getElementById('messages').innerhtml = event.message;
;
或
ws.onopen = function(event)
document.getElementById('messages').innerHTML = event.data;
;
我们能得到它吗?!
添加:@OnError 也是一样的
【问题讨论】:
也许您应该使用 onmessage 处理程序来获取消息。 是的,我知道,但问题是我们可以用这些方法来做吗?如果不能,我们可以用它们做什么 例如根据文档developer.mozilla.org/en-US/docs/Web/API/WebSocket onopen 事件表明连接已准备好发送/接收数据。这很有意义,例如,如果您要从客户端发送一些数据,因为连接建立是异步事件。 是的,但是我们如何在 javax 上下文中使用它来做一些实际的事情,我也了解了它在做什么,但是当我试图纠正代码中有用的东西时,结果却出乎意料 【参考方案1】:基于JSR 356,如果您阅读 OnOpen 部分,则有会话、配置和路径参数等参数,但您没有从客户端收到任何消息。所以也许你可以使用路径参数来获取数据?
【讨论】:
以上是关于连接打开后如何从javax websocket服务器获取消息的主要内容,如果未能解决你的问题,请参考以下文章
Linux Bash:如何作为客户端打开 websocket 连接
Python Tornado Websocket连接在关闭后仍然打开