gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 11:52:12 25 4
gpt4 key购买 nike

我创建了一个用于传输数据的 android - 桌面套接字编程。套接字通信是基于双工的,其中客户端在 android 上,服务器在桌面上。一次可能有很多安卓客户端连接到桌面服务器。应用程序在某些方面运行良好,我觉得一些问题是连接中断,因为我使用的是 WiFi,需要传输大量数据时速度很慢。

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

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

谁能告诉我一些解决方案?

最佳答案

一般来说,套接字比 Web 服务更快。

  • 当您掌握通信的双方时,您可以拥有自己的数据格式,这比使用 http
  • 所允许的要高效得多。
  • 根据您发送的内容,您可能有一个非常简单的消息结构,而 http 总是需要它的 header ,例如,它添加数据以传输
  • 经典的http是为每个请求打开和关闭通信 channel ,效率相当低

  • 但是,在最后一点上,由于您的 wifi 连接速度缓慢、不稳定,因此为每个请求重新连接也不错。

    我建议你看看 zmq ,它是具有多种支持的拓扑的应用程序之间的消息队列库。有很多语言的绑定(bind),它也适用于 Android。您可能会发现它比普通套接字 + 您自己的消息协议(protocol)或 http 更好。

    关于performance - Web 服务和套接字编程 - 本地更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19204601/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com