0
关注
9405
浏览

物联网的实时性问题 —— B/S架构的客户端Socket编程?

为什么被折叠? 0 个回复被折叠
林建入 核心会员 用户来自于: 北京市
2026-01-18 14:42
假设你写一个 Javascript 小程序,每隔 1s 就发送一次 HTTP 请求到同一个 URL 获取一次数据,那么你可能很自然的会想这会导致不断的重复建立连接做收发,不太好。 但是实际上,HTTP 1.1 默认是启用了 Keep-Alive 特性的,允许连接复用,也就是说,如果你用的浏览器不是太古老,那么这样的轮询程序实际上比你想象的还要高效——因为只有你第一次发送请求时才会为你建立连接,之后你继续发送请求都会优先使用这同一个连接。所以“长连接”实际上早就被实现了。而且甚至没有被程序员意识到。 你遇到的问题并不是“长连接”问题,而是数据的“推/拉”问题。也就是说,你真正想要的,是服务端能够主动的将数据源源不断的发送给客户端——而这一点恰好是 HTTP 协议的软肋。这也是为什么会有 websocket 的一个重要原因。 一种方法是使用 http://socket.io 之类的库。还有一种容易被忽视的方案是使用一种改进的轮询方案:comet 。 当然我不知道你需要实时显示的数据的单位时间内的流量,对延迟的容忍性,所以其他方面也给不了建议了。
jolestar 核心会员 用户来自于: 北京市
2026-01-18 14:10
1. 轮询方式 参看 @林建入 的答案 2. 伪长连接方式,也叫长轮询模式 客户端链接到服务器后,服务器一直不要断开,用trunk方式,有数据就输出,类似页面一直未加载完的状态。客户端如果发现链接被网关断开,则重新连接。服务器也可以实现推送机制。早期的网页聊天室基本是这种方式实现的。 补充: 早期网页版本用的是iframe方式的长轮询,而新的都用的是Ajax方式请求。看了一下微信的网页版聊天,也用的是这种模式。这种模式的浏览器兼容性是最好的。 3. websocket 4. 浏览器插件 补充: 具体参看 Comet (programming)
贺师俊 核心会员 用户来自于: 北京市
2026-01-18 15:05
websocket 要兼容老浏览器可以考虑 http://socket.io 之类的方案。
李亚楠 核心会员 用户来自于: 北京市
2026-01-18 14:52
http://socket.io。 至于兼容性的问题,都要做物联网比较前沿的东西了还不推动技术进步么。
liuwei 核心会员 用户来自于: 北京市
2026-01-18 14:33
其实可以采用flash外挂结合支持websocket的浏览器实现, 1,flash是可以开启socket链接的,在页面嵌入一个不可见的flash,接收消息逻辑封装在此,然后使用javascript和flash进行消息之间的交互 2,如果浏览器支持websocket则优先采用websocket,消息接口可以定义好,具体2种实现。
黄耀煌 核心会员 用户来自于: 北京市
2026-01-18 14:02
使用C#为后台开发的websocket物联网测控平台,带有监控直播,实时查看设备的状态、精准及时的远程控制、全双工高效实时通信,欢迎来我的站点体验websocket的各方面优势。 websocket在线测试
Letranger 核心会员 用户来自于: 北京市
2026-01-18 14:10
mqtt plus vpn

关于作者

问题动态

发布时间
2026-01-18 15:58
更新时间
2026-01-18 15:58
关注人数
0 人关注

相关问题

物联网工程是通信工程相关专业吗?
关于空调冰蓄冷机组的问题?
问个问题 关于输入和输出
关于上海地铁乘坐使用公交一卡通问题?
求大神,磁力锁问题在线等
ba问题请教
关于门禁系统设计的问题
监控的问题,新人求帮助!~
如何用物联网三个层中解释电动窗帘的原理
请教交换机光模块的问题

推荐内容

网络工程,计算机科学与技术,物联网?
弱电和前端的选择?
物联网解决方案,一个基于 Wi-Fi、一个基于 ZigBee,两者的优势和劣势有哪些?
在重庆哪些公司做平安城市、智慧城市比较成熟的,有推荐吗?
物联网需要什么技术之上才能完全实现?
物联网卡是什么?很多人都在讨论它?
请阐述计算机前沿技术物联网发展现状与趋势?
如何利用现在的科技弄一套智能家居?
如何让室内定位技术与应用场景更好相结合?除了室内定位导航还有地理围栏新玩法?
光纤传感领域目前形势如何?
All Rights Reserved Powered BY WeCenter V4.1.0 © 2026 粤ICP备20025096号-2
  

粤公网安备 44190002007303号