websocket 消息推送只能在某一个页面吗
发布网友
发布时间:2022-04-20 04:08
我来回答
共2个回答
热心网友
时间:2022-04-07 08:59
websocket消息推送的网页界面,用户只有打开这个界面的时候才与服务器建立连接,当此页面跳转到另一个页面连接就断了,但网站不可能只有一个页面,代码写在某一个页面的话,用户浏览其他页面就不能接受到推送信息。
如果每个页面都嵌入连接的代码的话,用户在浏览不同页面的时候就就不停的断开再重新建立连接,对服务器性能也是个考验。
一般都是用多 frame 来实现,即建立 WebSocket 是单独的一个 frame,且此 frame 不随页面切换而刷新,至于其他需要在页面切换时刷新的元素放在其他 frame 里。
在没有 HTML5 之前都是用轮询或者 Ajax 来实现消息推送的,WebSocket 本身占用的资源就比前两者要少,要是连这种强度服务器都承受不了。
后端推送数据方式就有点类似于 tcp 的方式,搭配框架实现起来还很方便的,如果你了解php,建议你后端使用 php workerman,当然websocket其实只能实现在线推送,推送方面类似的比如 极光推送也不错。
极光推送除了有着完善的控制台外,还提供了服务端的接口,方便开发者的服务器调用,方便开发者对于应用管理、整合即通过应用服务器极光服务器推送服务器用户设备,简化了服务器端的开发强度,也方便运营期间发送推送消息的流程。
热心网友
时间:2022-04-07 10:17
先插一嘴 HTML5 这东西还不是所有浏览器都能完美兼容。
一般都是用多 frame 来实现,即建立 WebSocket 是单独的一个 frame,且此 frame 不随页面切换而刷新,至于其他需要在页面切换时刷新的元素放在其他 frame 里。
另外题主的担忧完全是没有必要的。在没有 HTML5 之前都是用轮询或者 Ajax 来实现消息推送的,WebSocket 本身占用的资源就比前两者要少,要是连这种强度服务器都承受不了,不知题主之前是咋做的?
websocket 消息推送只能在某一个页面吗?
websocket消息推送的网页界面,用户只有打开这个界面的时候才与服务器建立连接。当此页面跳转到另一个页面连接就断了,但网站不可能只有一个页面,代码写在某一个页面的话,用户浏览其他页面就不能接受到推送信息。如果每个页面都嵌入连接的代码的话,用户在浏览不同页面的时候就就不停的断开再重新建立连接...
websocket 消息推送只能在某一个页面吗
websocket消息推送的网页界面,用户只有打开这个界面的时候才与服务器建立连接,当此页面跳转到另一个页面连接就断了,但网站不可能只有一个页面,代码写在某一个页面的话,用户浏览其他页面就不能接受到推送信息。如果每个页面都嵌入连接的代码的话,用户在浏览不同页面的时候就就不停的断开再重新建立连接...
多窗口websocket消息推送怎么实现。
目前只能在单浏览器窗口下可以收到websocket服务器推送过来的消息。现在消息推送软件有很多,使用消息推送软件的好处也是很多的,具体好处如下:1、能提高使用者的活跃度;2、具有较强的针对目的性,推送服务提供的信息是根据用户的特定需求定制的,这充分体现了用户的个性化需求;3、消息推送及时,这是推送服...
WebSocket 是什么原理?如何实现消息实时推送
目前要实现消息实时推送,有两种方法,一种是ajax轮询,由客户端不停地请求服务器端,查询有没有新消息,然后再由服务器返回结果;另外一种就是long poll,通过一次请求,询问服务器有没有新消息更新,如果没有新消息时,会保持长连接,就一直不返回Response给客户端。直到有消息才返回,返回完之后,客户...
推送数据?也许你不需要 WebSocket
这样,服务端就可以随时向网页推送消息了。那它兼容性怎么样呢?可以在 MDN 看到:除了 ie、edge 外,其他浏览器都没任何兼容问题。基本是可以放心用的。那用在哪呢?一些只需要服务端推送的场景就特别适合 Server Send Event。比如这个站内信:这种推送用 WebSocket 就没必要了,可以用 SSE 来做。那...
有了HTTP 协议,为什么还需要 Websocket?
WebSocket 是一种基于 TCP 连接上进行全双工通信的协议,它与 HTTP 这种非持久的协议相比,WebSocket 是一个持久化网络通信的协议,不仅可以实现客户端请求服务器,同时可以允许服务端主动向客户端推送数据。在 WebSocket API 中,客户端和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并...
同事打开两个JSP网页A和B,在其中一个A网页中修改数据,按"提交"之后,B...
在窗口A里用JS打开网页B的窗口,这样后面提交后就可以在JS里刷新窗口B了 2、在窗口B里用Ajax刷新 窗口B里用Ajax定时检查后台数据有没有修改,有则刷新 3、用WebSocket 窗口B用WebSocket创建与服务器的长连接,服务器如果有改变则向窗口B推送数据 如果以上都不合适,或者太复杂,还有一个最简单的方法,...
websocket推送数据给前端,频繁的话,数据页面不更新了
题主是否想询问“websocket推送数据给前端,频繁的话,数据页面不更新了怎么办”?处理方法如下:如下:1、通过增加推送数据的时间间隔,可以减少推送数据的频率,从而减轻前端页面的压力,使页面能够更新数据。2、通过在前端页面中增加数据缓存机制,可以将推送的数据存储下来,等待页面更新时再进行渲染,从而...
springboot集成websocket(springboot集成websocket原理)
Websocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket连接成功后,服务端与客户端可以双向通信。在需要消息推送的场景,Websocket相对于轮询能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。 具体如下特点 在客户端的列表数据中有个status字段,服务器端需要花费较长的时间进行处理,处理完成后才会更新对...
Spring Boot整合WebSocket实现实时消息推送
测试过程中,观察到在打开第二个页面时,第一个页面显示断开连接的现象。这是由于WebSocket连接是基于长连接的,所以关闭一个页面即相当于关闭了该页面的WebSocket连接。为了解决实时消息推送的保活问题,采用心跳保活机制。通过修改WebSocket服务类,实现定时向连接终端发送心跳消息。如果终端在一定时间内未响应...