libcurl和libsoup之间的区别

时间:2010-06-22 07:13:55

标签: c linux open-source shared-libraries

使用libcurl和libsoup有哪些优点和缺点?

哪一个更适合用于HTTP操作,我必须向服务器发送请求以获得响应,并且反应时间快?

4 个答案:

答案 0 :(得分:4)

我正在研究libsoup在业余爱好项目中实现API的服务器端(我正在制作自己的路由器)。

当我通过满足GNOME依赖关系时,基于回调的服务器端代码的简单性似乎没有像以前那样具有吸引力。界面非常好,请参阅soup_server_add_handler()

如果您编写GNOME应用程序(因此可以依赖GNOME依赖项),那就没关系(对我来说感觉很迟钝)。

如果您只是编写客户端代码,或者在没有GNOME的情况下必须工作的任何东西,请坚持使用curl。

答案 1 :(得分:4)

Libsoup即将到来,但libcurl有更好的支持和稳定性。 Lib汤开发人员很乐意承认你应该使用libcurl。

第4项特别重要,因为即使在Linux上KDE和XCF用户也会安装与gnome相关的库,但是当有独立于平台的选项时,强迫他们使用gnome库并不好。

  1. libcurl(远)更便携
  2. libsoup缺乏对以下内容的支持:代理的NTLM(代理验证:),GSS,分块响应中的预告片,OpenSSL
  3. libsoup提供服务器端支持
  4. libsoup正在使用与GNOME相关的库,使其成为非GNOME环境的不太方便的选择。
  5. “我发现libsoup远比libcurl慢。它使用至少4倍的CPU来通过HTTP传输高比特率的数据流。我将此归因于对重量级glib / gobject结构的过度依赖。男人,那东西很慢很难用!“ - 马特格伦克

答案 2 :(得分:1)

http://curl.haxx.se/libcurl/libsoup.html

如果你想要便携性和稳定性,最好还是坚持使用libcurl。

答案 3 :(得分:0)

使用libsoup导致我的rootfs增加了近11MB,其中libcurl只增加了大约1MB。 这在存储资源有限的嵌入式系统中非常重要。