我的任务是编写一个应用程序,以便能够实时与这些车辆进行通信。服务器端和客户端。
这是我需要注意的清单。
是否有适合这些要求的协议或服务器应用程序?
此致
气压
答案 0 :(得分:3)
只需使用HTTP,HTTP标头的开销就不会破坏带宽库。
客户端只需轮询服务器以获取最新消息。如果最新消息与客户端记录的最后一条消息的ID差异大于1,则客户端可以直接请求丢失的特定消息ID(可能从丢弃的客户端连接中丢失等)。通常的HTTP处理程序(ashx)或Web服务(asmx)就是你真正需要的。
答案 1 :(得分:0)
对于这种类型的通信场景,套接字通信将是最佳选择。为什么?
1)。它使用原始字节发生。
2)。可以选择进行连接通信和无连接通信
3)。 .NET有一个丰富的API来实现套接字通信。
4)。如果与Rx和/或TPL(异步等待)一起使用,则可以更好地处理它。
最小带宽使用:TCP将为实际消息添加更多的头字节,然后UDP作为TCP连接(种类)通信套接字类型,并且还具有内部校验和。 UDP将是通过3G节省一些带宽的最佳选择。
对于连接和保证确认消息传递: 我会说,选择完全取决于您或您的公司采取何种方法继续推进。
TCP的优点:由于它是连接通信,一旦您失去连接,两端都可以了解断开连接,并且可以再次进行连接,并且在消息传递方面更可靠。
UDP的优点:它的发送和遗忘协议因此无法保证内置的任何可靠性或连接性,但由于在您使用UDP的情况下发送的字节成本高,将是很好的选择并使用某种消息协议来实现端到端通信 - 通过响应机制请求/确认。因此,可以手动完成接收和发送的确认连接和消息。