我正在研究一个项目,将用C写入C的Web服务器嵌入设备中。要求是它应该支持Web服务(SOAP / JSON-RPC),并应与ARM处理器兼容。有任何特定产品的建议或首先要看哪里?

有帮助吗?

解决方案

给定您的描述:带有256MB RAM的基于Linux的平台,您基本上可以使用所需的任何Web服务器。 256MB RAM将您的设备从典型的嵌入式区域中带出服务器空间。

不必担心手臂支撑太多,因为它得到了Linux社区的很好的支持。它是Debian正式支持的建筑之一。我本人在运行Debian和LightTPD的手臂上运行几个网络服务器,而硬件只有32MB RAM。

前三个最受欢迎的Web服务器(并且受欢迎程度非常重要,因为这意味着您可以在遇到问题时轻松使用Google):

  • LightTPD- RAM使用情况非常轻,因为它是单线螺纹,并且CPU使用也非常轻。缺点是,如果您尝试运行重量级,CPU密集的CGI应用程序,则响应可能会很慢,因为它是单线螺纹。

  • apache2-大量使用RAM。 Apache的默认操作模式是使线程尽可能长时间保持沉重负载。这意味着大多数时候您在睡眠过程中使用RAM。但是,如果您确实需要处理重负荷,这是一件好事。适合重型CGI应用程序。

  • nginx-街区的新孩子。尚未像LightTPD或Apache那样有充分的记录(目前,文档随着时间的推移而有所改善),但人们一直在说这两者都不优于两者。它像apache2一样多线程,但是像lightTPD一样不遮盖,因此它具有两全其美:它使用较少的RAM,通常使用Apache2(尽管超过LightTPD),并且至少在负载下的Apache2至少要比Apache2更好。对我来说,唯一真正的缺点是文档。

其他提示

如果设备的资源确实很短,请考虑一个嵌入式Web服务器库 猫鼬 或者 libsoup (使用 glib)。但是请注意,诸如SOAP和XML解析的服务一般而言,资源很大。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top