用webSocket发送消息怎么确定用户收到消息了呢

来源:互联网 发布:淘宝茶具套装 编辑:程序博客网 时间:2024/05/21 10:57

用webSocket发送消息怎么确定用户收到消息了呢 [问题点数:40分]

 收藏
javawebSocket
用webSocket给用户发送消息。如果用户关闭浏览器的话如何确定用户是否能收到消息
发表于: 2015-08-12 15:32:33 楼主
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
回复次数:4
  • unix系列系统镜像下载
  • Unix操作系统设计(中文版)
  • SUN的UNIX操作系统
  • UNIX操作系统设计
  • DB2 v8.2,v9.1,v9.5,v9.7下载地址及详细安装图解
  • DB2全套学习资料
  • DB2数据库管理软件 - db2mon v1.0
  • IBM DB2 通用数据库 在64位平台上使用DB2 通用数据库.rar
  • DB2数据库odbc驱动
  • 任意数据库转换系统 DB2DB 1.8
他再 发信息给你啊。
好比2次握手。
回复于: 2015-08-12 15:55:23#1 得分:0
对我有用[1] 丢个板砖[0] 引用 | 举报 | 管理
 WebSocket 可能进入某种半死不活的状态。这实际上也是原有网络世界的一些缺陷性设计。WebSocket 长连接虽然解决了服务器和客户端两边的问题,但坑爹的是网络应用除了服务器和客户端之外,另一个巨大的存在是中间的网络链路。一个 HTTP/WebSocket 连接往往要经过无数的路由,防火墙。你以为你的数据是在一个“连接”中发送的,实际上它要跨越千山万水,经过无数次转发,过滤,才能最终抵达终点。在这过程中,中间节点的处理方法很可能会让你意想不到。
比如说,这些坑爹的中间节点可能会认为一份连接在一段时间内没有数据发送就等于失效,它们会自作主张的切断这些连接。在这种情况下,不论服务器还是客户端都不会收到任何提示,它们只会一厢情愿的以为彼此间的红线还在,徒劳地一边又一边地发送抵达不了彼岸的信息。而计算机网络协议栈的实现中又会有一层套一层的缓存,除非填满这些缓存,你的程序根本不会发现任何错误。这样,本来一个美好的 WebSocket 长连接,就可能在毫不知情的情况下进入了半死不活状态。

而解决方案,就是让服务器和客户端能够发送 Ping/Pong Frame(RFC 6455 - The WebSocket Protocol)。这种 Frame 是一种特殊的数据包,它只包含一些元数据而不需要真正的 Data Payload,可以在不影响 Application 的情况下维持住中间网络的连接状态。
回复于: 2015-08-13 20:07:03#2 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
顶  顶  顶  顶 ,让大虾看见
回复于: 2015-10-16 09:34:18#3 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
对方离线状态下收不到信息怎么办啊?
回复于: 2017-08-15 14:55:50
阅读全文
0 0