java中使用websocket推送消息服务器端怎么才能主动推送
2个回答
展开全部
目前要实现消息实时推送,有两种方法,一种是ajax轮询,由客户端不停地请求服务器端,查询有没有新消息,然后再由服务器返回结果;另外一种就是long poll,通过一次请求,询问服务器有没有新消息更新,如果没有新消息时,会保持长连接,就一直不返回Response给客户端。直到有消息才返回,返回完之后,客户端再次建立连接,周而复始。这两种都是单向链接,需要被动的请求服务器,而不是由服务器自动发给客户端。
从上面可以看出其实这两种方式,都是在不断地建立HTTP连接,然后等待服务端处理,可以体现HTTP协议的另外一个特点,被动性。
从上面可以看出其实这两种方式,都是在不断地建立HTTP连接,然后等待服务端处理,可以体现HTTP协议的另外一个特点,被动性。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
websocket有四个监听事件,要给客户端的数据写在服务端中onopen(websocket一旦建立客户端就会收到),写在onMessage(服务端会在收到客户端发送得消息后主动发数据给客户端)实现方法为调用如下函数:
public void sendMessage(Float a2) {
this.session.getBasicRemote().sendObject(a2);
}
public void sendMessage(Float a2) {
this.session.getBasicRemote().sendObject(a2);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询