c - 开源 C 嵌入式 Web 服务器,支持基于 SOAP/JSON-RPC 的 Web 服务并兼容 ARM 处理器

原文 标签 c web-services webserver arm embeddedwebserver

我正在开发一个项目,将用 C 编写的 Web 服务器嵌入到设备中。要求是它应该支持 Web 服务(SOAP/JSON-RPC)并且应该与 ARM 处理器兼容。对具体产品有什么建议或先看哪里?

最佳答案

鉴于您的描述:具有 256MB RAM 的基于 Linux 的平台,您基本上可以使用任何您喜欢的 Web 服务器。 256MB RAM 将您的设备从典型的嵌入式领域带入服务器空间。

不要太担心 ARM 支持,因为它得到了 Linux 社区的良好支持。它是 Debian 官方支持的架构之一。我自己在 ARM 上运行了几个 Web 服务器,运行 Debian 和 lighttpd,硬件只有 32MB RAM。

前三名最受欢迎的网络服务器(并且受欢迎程度非常重要,因为这意味着如果您遇到问题,您可以轻松地用 google 搜索):

  • lighttpd - 因为它是单线程的,所以对 RAM 的使用非常轻,而且对 CPU 的使用也非常轻。缺点是如果您尝试在其上运行重量级、CPU 密集型 CGI 应用程序,它可能会响应缓慢,因为它是单线程的。
  • Apache2 - 大量使用 RAM。 Apache 的默认操作模式是尽可能长时间地保持线程处于事件状态以处理繁重的负载。这意味着大多数时候你在 sleep 进程上用尽了 RAM。但是,如果您确实需要处理重负载,这是一件好事。适合重型 CGI 应用程序。
  • Nginx - block 上的新 child 。不像 lighttpd 或 Apache 那样有很好的文档记录(目前,显然文档随着时间的推移而改进),但人们一直在说它优于两者。它像 Apache2 一样是多线程的,但像 lighttpd 一样是非阻塞的,因此它具有两全其美的优点:它使用的 RAM 通常比 Apache2 少(尽管比 lighttpd 多),并且在负载下的性能至少与 Apache2 一样好。对我来说唯一真正的缺点是文档。
  • 关于c - 开源 C 嵌入式 Web 服务器,支持基于 SOAP/JSON-RPC 的 Web 服务并兼容 ARM 处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4373602/

    相关文章:

    mongodb - 具有多台服务器的单台机器上的Mongos路由器

    C - 在运行时 reshape 二维数组

    c - 二指针法

    c - lighttpd:抛出错误“对等连接重置”,以关闭其客户端套接字

    web-services - 如何通过指定 URL 访问 JAX-RS Web 服务目录中的文件?

    java - Web服务的Spring自动接线问题

    asp.net - 在非IIS服务器中的ASP.NET Web应用程序?

    c++ - 如何将窗口的一部分绘制到存储设备上下文中?

    c - 如何创建这个公式?

    java - android http请求的未知主机异常,该异常应返回XML