C言語で書かれたWebサーバーをデバイスに埋め込むプロジェクトを進めています。要件は、Webサービス(SOAP/JSON-RPC)をサポートする必要があり、ARMプロセッサと互換性がある必要があります。特定の製品の提案または最初に見える場所SOAP/JSON-RPCベースのWebサービスをサポートし、ARMプロセッサーと互換性のあるオープンソースのC組み込みWebサーバー
答えて
説明:256MB RAMのLinuxベースのプラットフォームでは、基本的に好きなWebサーバーを使用できます。 256MBのRAMは、デバイスを標準の埋め込み領域からサーバ空間に移動させます。
Linuxコミュニティがうまくサポートしているため、ARMサポートについて心配する必要はありません。 Debianが正式にサポートしているアーキテクチャの1つです。私はDebianとlighttpdを実行しているARM上で32MBのRAMしか持たないハードウェアでいくつかのWebサーバーを実行しています。
トップ3最も人気のあるWebサーバ(と、それはあなたが問題を持っている場合は、簡単にグーグルできることを意味しますので、人気が非常に重要である):
lighttpdの - RAM使用量に関する非常に軽いそれがシングルスレッドであるため、 CPU使用率も非常に軽いです。欠点は、それがシングルスレッドであるため、ヘビー級のCPU集約型CGIアプリケーションを実行しようとすると応答が遅くなることです。
Apache2 - RAM使用量が多い。 Apacheのデフォルトの動作モードは、重い負荷を処理するためにスレッドを可能な限り長く保つことです。これは、睡眠中のプロセスでRAMを使い果たしたときのほとんどの時間を意味します。しかし、重い荷物を処理する必要がある場合、これは良いことです。頑丈なCGIアプリケーションに適しています。
Nginx - ブロック上の新しい子供。 lighttpdやApacheのように文書化されていない(現時点では、明らかに文書化は時間が経つにつれて改善する)が、人々は両方の性能を上回っていると言っている。これはApache2のようにマルチスレッドですが、lighttpdのような非ブロック化であるため、両方の世界で最高の性能を発揮します。一般にApache2よりも少ないRAMしか使用せず、少なくともApache2よりも優れていないと実行します。私の唯一の本当の欠点はドキュメンテーションです。
リソースが実際に不足している場合は、Mongooseまたはlibsoup(GLibを使用)のような埋め込みWebサーバーライブラリを検討してください。ただし、SOAPやXML解析などのサービスは一般的にリソースがかなり重いことに注意してください。
ありがとうございます。あなたがMongooseを経験した経験があるかどうか聞いてみたいと思います。 –
私は外見を持っていましたが、実際にはもっと小型で持ち運び可能なものを望んでいました。自分の実装(http://code.google.com/p/openpgm/source/browse/trunk/openpgm/pgm/http.c) –
- 1. IBMとAxis 1.4 Webサービスの互換性
- 2. 組み込みARMベースのLinuxシステム用のクロスコンパイル
- 3. ARMベースの組み込みLinuxのGPIO IRQ
- 4. 組み込みWebサーバ
- 5. 組み込みPython Webサーバーのシステム要件
- 6. Felixと互換性のあるOSGiバンドルをTychoに組み込むには?
- 7. 組み込み関数 'execl'に互換性のないコンパイルエラーがあります
- 8. 軽量のWebサーバーでのC++の互換性
- 9. Symfony組み込みのWebサーバが外部環境にある
- 10. GNU ARM組み込みツールチェインインストールの問題
- 11. 組み込みサーバを搭載したC++ Webフレームワークですか?
- 12. 403組み込みVS 2008 Webサーバーで禁止
- 13. ARM組み込みCプログラミングのタイマーの使用
- 14. コマンドパターンはRESTful Webサービスと互換性がありますか?
- 15. サードパーティのWebサービスをアプリケーションデザインに組み込む
- 16. IntelliJ:組み込みサーバーを使用しているWebアプリケーションをデバッグする
- 17. PHPファイルから組み込みのPHP 5.4 Webサーバーを実行するには?
- 18. Axis 2 Webサービスとの互換性のないAxis 1クライアント
- 19. PHPに組み込まれたWebサーバーのキャッシュ問題
- 20. 反応のフロータイプエラー:このタイプはJSXの小道具と互換性がありません組み込み
- 21. 組み込みシステムで使用するサーバー側のWebテクノロジは何ですか?
- 22. REstful APIを実装するための最高の軽量/高性能組み込みWebサーバー
- 23. 組み込みブートストラップ3ベースのグリッドシステム
- 24. 組み込み用のC/C++組み込み関数VMOVD
- 25. オープンソースのCまたはC++組み込みリレーショナルデータベース(展開するコピー元)
- 26. 埋め込みWebサーバーのログ
- 27. ローカルホストの外でPHP 5.4の組み込みWebサーバを実行
- 28. 軽量Webサーバーを.netアプリケーション(node.js)に組み込む?
- 29. WebサーバーをCAS webappに組み込む方法
- 30. 組み込みWebサーバーを含む - 展開に関する問題
どのようなOSですか?あなたはどのくらいのRAMを使用しなければなりませんか? 4MBのRAM + 1GBのディスクスペース(SDカード)では、私はDebian Linux + Lighttpdをうまく使いました。 – slebetman
@slebetman:ありがとうございました。私たちはLinux 2.6xを使用する予定で、デバイス上のRAMは256 MBと言われています。これはARMベースのプロセッサーを持っています。 –
ああ、あなたは好きなWebサーバーを使うことができます。 SOAP/JSON-RPCの処理は、実際にはサービスを実装するために選択したプログラミング言語とフレームワークの関数です。 CGIアプリケーションで高いスループットが必要な場合は、メモリオーバーヘッドが低い(実際には256MBの)オーバーヘッドが必要な場合はlighttpdを、Apache2またはNginxをお勧めします。 – slebetman