我最近开发了一个使用Arduino(嵌入式应用程序)和GSM调制解调器的GPRS通信软件来与Web服务器进行通信。但是我发现在客户端从服务器接收响应时有足够的延迟和请求被丢弃(响应超时)。
我尝试过的技术是 - TCP / UDP / HTTPS / HTTP。
在我的情况下,我们的要求是在客户端和服务器之间建立可靠,快速,保证的通信。
请告诉我哪个通信堆栈会建立相同或最好使用?
提前致谢
答案 0 :(得分:1)
GPRS为您提供对Internet的直接IP访问。如果您在向服务器发送数据包时丢失数据包或遭受大量延迟,那么这听起来像是移动ISP的问题。
答案 1 :(得分:0)
正如肯所说,GPRS将为您提供到互联网(或某些专用网络,如果适用)的IP连接。
在IP之上,您可以选择使用多种更高层协议,其中最常见的两种协议可能是UDP和TCP。
UDP无连接'并提供很少的错误检测/纠正等方法。
TCP是面向连接的(这意味着一些信令来回发生以建立虚拟的“连接”)。它还包括提供错误检测,纠错和正确的数据包传送顺序的机制。 TCP还包括流量控制,以避免发送方使接收方过载,以及拥塞控制以避免网络过载。
有一种看法认为UDP比TCP更快,但我认为这取决于具体情况 - 看一下这个讨论,以便进一步讨论UDP和TCP之间的速度,可靠性等(通过所有高分)答复):
根据您的要求,我认为基于TCP / IP的解决方案可能就是您想要的。
是否要使用HTTP或其他协议将取决于您的解决方案,并在某种程度上取决于个人偏好。