首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实时消息传递

实时消息传递
EN

Stack Overflow用户
提问于 2012-10-25 15:48:01
回答 2查看 119关注 0票数 2

在我公司有100多辆车。每辆车都有Windows设备,通过3G连接到互联网上。

我的任务是编写一个应用程序,以便能够与这些车辆进行实时通信。服务器和客户端。

这是我必须注意的清单。

  • 最少使用带带。(插座?TCP还是UDP??)
  • 在移动过程中连接正在丢失。应该成功地传递消息。

是否有适合这些要求的协议或服务器应用程序?

问候

巴罗

EN

回答 2

Stack Overflow用户

发布于 2012-10-25 15:52:11

只要使用HTTP,来自HTTP头的开销不会破坏带宽库。

客户端只需轮询服务器以获得最新消息。如果最新消息的ID差值大于客户端记录上一条消息的ID差,那么客户端可以直接请求它丢失的特定消息ID(可能是从被丢弃的客户端连接中丢失的)。真正需要的是一个通用的HTTP处理程序(ashx)或web服务(asmx)。

票数 3
EN

Stack Overflow用户

发布于 2012-10-25 16:02:54

对于这种通信场景,套接字通信将是最佳选择。为什么?

1)。它使用原始字节来实现。

2)。有连接通信和无连接通信的选项。

3)。.NET有一个丰富的API来实现套接字通信。

4)。如果结合使用Rx和/或TPL (异步等待),则可以以更好的方式处理。

最小带宽使用: TCP将添加更多的头字节到实际消息,然后UDP,因为TCP是连接(某种)通信套接字类型,也有内部检查和。UDP将是在3G上节省一些带宽的最佳选择。

对于连接性和消息传递的保证确认:我要说的是,选择完全由您或您的公司来选择该采用的方法。

TCP的优点:由于它是连接通信,一旦您失去了连接性,终端就可以了解断开连接的情况,并且可以再次进行连接,并且在消息传递方面更可靠。

UDP的优点:它的发送和遗忘协议,因此它不能保证任何可靠性或连接在构建,但由于发送的字节是昂贵的在您的情况下,使用UDP将是很好的选择,并使用某种消息协议来实现端到端的通信-请求/确认与响应机制。因此,可以手动完成接收和发送的连接和消息的确认。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13072377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档