社区
Web 开发
帖子详情
用webSocket发送消息怎么确定用户收到消息了呢
sinat_24367905
2015-08-12 03:32:33
用webSocket给用户发送消息。如果用户关闭浏览器的话如何确定用户是否能收到消息
...全文
3144
5
打赏
收藏
用webSocket发送消息怎么确定用户收到消息了呢
用webSocket给用户发送消息。如果用户关闭浏览器的话如何确定用户是否能收到消息
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_39856083
2017-08-15
打赏
举报
回复
对方离线状态下收不到信息怎么办啊?
我名涛
2015-10-16
打赏
举报
回复
顶 顶 顶 顶 ,让大虾看见
forDream_
2015-08-13
打赏
举报
回复
WebSocket 可能进入某种半死不活的状态。这实际上也是原有网络世界的一些缺陷性设计。WebSocket 长连接虽然解决了服务器和客户端两边的问题,但坑爹的是网络应用除了服务器和客户端之外,另一个巨大的存在是中间的网络链路。一个 HTTP/WebSocket 连接往往要经过无数的路由,防火墙。你以为你的数据是在一个“连接”中发送的,实际上它要跨越千山万水,经过无数次转发,过滤,才能最终抵达终点。在这过程中,中间节点的处理方法很可能会让你意想不到。 比如说,这些坑爹的中间节点可能会认为一份连接在一段时间内没有数据发送就等于失效,它们会自作主张的切断这些连接。在这种情况下,不论服务器还是客户端都不会收到任何提示,它们只会一厢情愿的以为彼此间的红线还在,徒劳地一边又一边地发送抵达不了彼岸的信息。而计算机网络协议栈的实现中又会有一层套一层的缓存,除非填满这些缓存,你的程序根本不会发现任何错误。这样,本来一个美好的 WebSocket 长连接,就可能在毫不知情的情况下进入了半死不活状态。 而解决方案,就是让服务器和客户端能够发送 Ping/Pong Frame(
RFC 6455 - The WebSocket Protocol
)。这种 Frame 是一种特殊的数据包,它只包含一些元数据而不需要真正的 Data Payload,可以在不影响 Application 的情况下维持住中间网络的连接状态。
tony4geek
2015-08-12
打赏
举报
回复
他再 发信息给你啊。 好比2次握手。
websocket
向指定
用户
发信息
实现
websocket
向指定的
用户
发送
信息,只有指定的人可以
收到
信息,其他人无法
收到
Nodejs +
Websocket
指定
发送
及群聊的实现
目的 通过nodejs + ws (
Websocket
) 实现点对点
发送
及群聊
发送
项目搭建直接跳过,这里列举一下用到的插件 yarn add ws
WebSocket
话不多说,直接上码 对比上一篇文章 << Nodejs>> server.js 主要是增加了ws的引用,
webSocket
点对点也好,群聊也好,主要是用到一个方法 clients 它的作用就是存储了连接, 我们可以通过对每一个连接增加标识,然后根据接
收到
的信息进行解析,遍历然后
发送
正确的响应。 先解析下代码(小声BB), 下面会有HTML页面 nbs.on("connec
WebSocket
聊天室
WebSocket
聊天室是一种基于
Websocket
协议实现的即时通讯应用,它允许多个
用户
同时连接到服务器,实现实时的
消息
传输和交流。
WebSocket
是一种新的网络协议,它在传输层提供全双工通信,相比HTTP协议具有更低的延迟和更高的实时性,适用于开发实时通讯应用。
WebSocket
聊天室的实现流程如下: 建立
WebSocket
连接:客户端使用JavaScript代码创建
WebSocket
实例,与服务器建立
WebSocket
连接。 登录:
用户
通过界面输入
用户
名和密码,提交登录信息。 服务器验证:服务器接收登录信息,并验证
用户
身份。如果验证成功,则将该
用户
添加到聊天室
用户
列表中。 聊天交流:
用户
输入
消息
并
发送
,
WebSocket
将
消息
传输到服务器,服务器将
消息
广播给所有在线
用户
。 退出:
用户
退出聊天室时,
WebSocket
发送
退出
消息
到服务器,服务器将该
用户
从
用户
列表中删除。 断开
WebSocket
连接:
用户
关闭浏览器或者退出网页时,
WebSocket
断开连接,释放资源。
WebSocket
聊天室的实现需要使用JavaScript和后端编程语言,如Java、Pytho
Spring boot整合
websocket
实现即时通讯demo(适合新手或者开发人员学习)
本项目基于Spring平台,整合
websocket
协议,实现一个简易web聊天室的功能。主要特性如下: 1.包含聊天室登录、退出的功能。登录时,浏览器自动向服务器发起
websocket
连接,退出时自动切断。登录页面为http://localhost:8080/login 2.账号Jon或者TOM,密码是1234,登录后,
用户
可查看到聊天室在线的
用户
列表,我们在服务器上通过一个hashmap始终记录了当前在线的
用户
列表; 3.登录的
用户
可以点击一个在线的其他
用户
,并给他
发送
消息
,
消息
先提交给服务器,在通过服务器转发给另一端
用户
; 4.支持群发
消息
的功能,使用时,服务器会将
收到
的
消息
群发给当前在线的所有
用户
; 5.添加好友上线提醒和下线提醒的功能,当有好友上线或下线时自动通知所有其他在线人,不要刷新页面可看到实时在线
用户
列表。
Spring整合
websocket
实现即时通讯聊天室
Spring-
websocket
传统的HTTP协议,一般通过向服务器
发送
请求,拉取数据实现半双工通信,缺点是服务器难以直接向浏览器下发
消息
,因此,
websocket
协议应运而生,可用于向建立连接的浏览器主动下发任意数据(PUSH)。本项目基于Spring平台,整合
websocket
协议,实现一个简易web聊天室的功能。主要特性如下: 1.包含聊天室登录、退出的功能。登录时,浏览器自动向服务器发起
websocket
连接,退出时自动切断。 2.登录后,
用户
可查看到聊天室在线的
用户
列表,我们在服务器上通过一个hashmap始终记录了当前在线的
用户
列表; 3.登录的
用户
可以点击一个在线的其他
用户
,并给他
发送
消息
,
消息
先提交给服务器,在通过服务器转发给另一端
用户
; 4.支持群发
消息
的功能,使用时,服务器会将
收到
的
消息
群发给当前在线的所有
用户
; 5.添加好友上线提醒和下线提醒的功能,当有好友上线或下线时自动通知所有其他在线人,不要刷新页面可看到实时在线
用户
列表。
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章