問題タブ [mongoose-web-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Cとphpの間でデータを渡す
PHP Web アプリケーションと C プログラムの 2 つのアプリケーションがあります。PHP アプリは、結果を返す C プログラムにデータを送信する必要があります。c プログラムは、前の入力のデータをメモリに保持する必要があるため、サイクル (while(true)) 内で常に実行する必要があります。
ファイル(入力および出力ファイル)を使用して、cとphpの間でデータを渡す問題を処理します。私の Web アプリケーションに変更がある場合、私の php スクリプトはファイルを更新し、それは私の C プログラムによって読み取られます。出力は別のファイルに書き込まれます。Web アプリケーションは常に変更を探しています。
このような問題を解決するのは賢明な解決策ではないと思います。おそらく、必要のないファイルアクセスがたくさんあります。
次のスレッドからのインスピレーションと助けを借りて、一種のC phpサーバーブリッジを使用することが良い解決策になると思いました.
PHP(Webアプリケーション)で値を渡してCプログラムを実行する方法
私はマングースから始めました。Mongoose は非常に軽量な Web サーバーです。私の現在の考えは、私の Web アプリケーションは POST 経由でデータを C プログラムに直接送信するというものです。リクエストはマングース Web サーバーによって処理されます。これは行く方法ですか?または、2つのアプリケーションに分割する方が良い解決策になります1)入力出力を処理するWebサーバー-両方のプログラム間の変数は共有メモリによって渡されます2)現在の操作用のCプログラム(共有メモリを介した入力/出力)
または、これはすべて完全に間違った方法であり、a) ファイルソリューションに固執する必要があります b) もっと良い方法がありますか? このすべての質問で申し訳ありませんが、私はcにかなり慣れていないため、多くの苦労をしており、これらすべてに自信がありません。
編集
私のCプログラムが何をするかをより具体的にしようとしています。基本的にシミュレーションです。これは約 20 ~ 40 の入力がすべて整数で、ほとんどの場合 0 または 1 である状態フローのようなものです。プログラムは、入力と以前の状態のベースに基づいて動作します。入力ファイルを元の状態に変更することにより、1 回の反復後に入力がリセットされます。
出力ファイルは、対応する出力値 (var = 1 var2 = 3 など) で常に更新されます。
c++ - Mongoose(httpサーバー)を使用して別のリクエストを処理する方法は?
私は http の初心者で、mongoose という組み込みの http サーバーを使用しています。
~/web_root で Web ルートを使用して、次のことを行います。
このようにマングースを使ってみました
これは HttpEvenHandler です
c - Mongoose Web サーバー API で SSL を実行する方法
C で Mongoose Web サーバー API を使用して、小さな HTTP API を実装します。これまでのところ問題なく動作していますが、SSL を使用したい場合、サーバーは要求を拒否します。
SSL キーと証明書を生成するために、次のアプローチを使用しました。
このマニュアルによると、マングースはキーと証明書を 1 つのファイルに収めたいと考えています。
また、NS_ENABLE_SSL
コンパイル フラグを設定して、mongoose の ssl 部分を有効にしました。
マングースを初期化するには、C ソースで次のようにします。
私のイベントハンドラーは、現時点ではコンソールにリクエストを記録するだけです:
ブラウザーでドキュメント ルートから HTML ファイルを開こうとすると、サーバーはコンテンツを配信せずに接続を閉じます。
コンソール出力:
NULL
最初の 3 つ (null) は、オプションの設定中に問題が発生しなかった場合の mg_set_option からの戻り値です。
ここで何がうまくいかないのですか?
c - C - Mongoose ライブラリの返信メッセージ
コードに問題がありますが、問題ありません。しかし、間違ったアドレスを挿入すると、たとえばhttp://127.0.0.1:27017/this_is_a_try
、サーバーから「エラー 404 が見つかりません」ではなく、「これは試行です」というメッセージが返されます。そんなに難しいですか?みんな助けてくれてありがとう。
c++ - Mongoose サーバーを使用して 2 番目のスレッドでデータを送信する
Mongoose Web サーバー ライブラリを使用してマルチスレッド サーバー アプリケーションを作成しようとしています。接続を提供し、独自のスレッドで動作しているプロセッサに要求を送信するメイン スレッドがあります。次に、プロセッサは結果をキューに入れ、キュー オブザーバは結果をクライアントに送り返す必要があります。
ソースはそのように見えます:
ここでは、プロセッサ用のデータを準備し、キューに配置します。
そして、ここで結果を送り返そうとしています。この関数は独自のスレッドで動作しています。
問題は、クライアントがサーバーから何も受信しないことです。
タスクをキューに配置した後、event_handler で check_result 関数を手動で実行し、計算結果を event_handler に渡すと、mg_printf_data を使用してクライアントに送信できます (MG_TRUE を返します)。他の方法 - 私は違います。
このソースを機能させるには、正確に何を変更する必要がありますか?
c++ - 名前空間で void 関数を渡すキャスト エラー
Mongoose (C ライブラリ)を使用して作成したサーバーを C++ クラスでラップしようとしています。問題は、マングースでサーバーのインスタンスを作成する に関数ev_handler
を渡そうとしていることです。mg_create_server()
しかし、それは私が信じているキャストエラーを与えます:
ev_handler
静的にしようとしましsend_index_page(conn)
たが、ラッパー クラス内にある必要があります。