Web服务和套接字编程 - 本地更快

时间:2013-10-06 01:53:33

标签: performance web-services sockets rest

我已经创建了一个用于传输数据的android - 桌面套接字编程。套接字通信是基于双工的,其中客户端在android上,服务器在桌面上。有一次可能会有很多Android客户端连接到桌面服务器。应用程序在某些扩展中工作正常,我觉得有些问题是因为我使用WiFi连接断开,当批量数据需要传输时速度慢。 / p>

最近我了解了REST网络服务,我创建了一个应用程序,其中Web服务在本地桌面计算机上运行,​​android应用程序通过HTTP POST和HTTP GET连接到它,并从任何一方传输数据好的。

我想知道Socket编程是否更好,或者webservice是否更适合本地通信和批量数据交换?哪一个更快?

有人可以告诉我一些解决方案吗?

1 个答案:

答案 0 :(得分:3)

套接字通常比Web服务快。

  1. 当您掌握通信的两个方面时,您可以拥有自己的数据格式,这可能比您允许使用http的方式更有效
  2. 根据您发送的内容,您可能拥有一个非常简单的消息结构,而http总是需要其标题,例如,它会添加要传输的数据
  3. Classic http为每个请求打开和关闭通信通道,这是非常低效的
  4. 然而,在最后一点上,当你处于一个缓慢,不稳定的wifi连接时,重新连接每个请求都不错。

    我建议您查看zmq,它是一个用于具有各种受支持拓扑的应用程序之间的消息队列的库。有许多语言的绑定,它也适用于Android。您可能会发现它比普通套接字+您自己的消息协议或http。

    更好