問題タブ [msgrcv]

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.

0 投票する
1 に答える
2007 参照

c - IPC メッセージ キュー。msgrcv システムコール。システム V. ループから抜け出す方法

ループ内でメッセージを取得するメッセージ キューがあります。問題は、ループを終了する方法がわからないことです。msgrcv は size_t 型を返すため、続行します。ループを終了するには、戻り値とどの値を比較すればよいですか?

0 投票する
1 に答える
9366 参照

c - UNIX メッセージ キュー msgrcv がメッセージを受信できませんでした

親愛なる友人へ、なぜ msgrcv が空のバッファを受信して​​いるのか、何か考えはありますか?

コードは次のとおりです。

0 投票する
1 に答える
1325 参照

c - msgrcv で空のメッセージが表示される

IPC キューを介して互いにメッセージを送受信する 2 つのプログラムがあります。ただし、msgrcv 関数は、キューを介して実際に送信されたものを受信する代わりに、空白のメッセージを取得することがあります。うまくいくと思われる修正をコメントアウトしましたが、ここで確認して、これが msgrcv と msgsnd を使用する適切な方法であるかどうかを確認したかったのです。

msgrcv:



メッセージ数:

0 投票する
3 に答える
5067 参照

c - Cでのメッセージの受け渡し/Cの構造体からのchar配列の出力

親プロセスにメッセージを渡すためにこのプログラムを作成しました。親プロセスが受信したメッセージを出力するようにします。私はcでのプログラミングにまったく慣れていないので、これがchar配列の読み取りまたはメッセージパッシングの問題であるかどうかはわかりません。これが私の試みです:

私の質問は、このコードをコンパイルして実行すると、送信用のメッセージが表示されないのはなぜですか?

0 投票する
1 に答える
5971 参照

c - 中断されたシステム コール

以下に示すように、メインから 3 つ以上のタイマーを実行し、メイン セクションで 1 つのメッセージ キューを定義しました。タイマーの有効期限は 10 (最大) です。タイマーが切れると、"msgrcv" が "Interrupted system call" のようなエラーを出すのはなぜですか?

0 投票する
1 に答える
460 参照

linux - msgrcv を使用して動的な長さのコンテンツを読み取る

msgrcv 関数を使用して、メッセージ キューからメッセージを読み取ります。既知の長さのデータを読み取ると、正常に動作します。場合によっては、メッセージの長さが可変です。そのような方法で、必要な量のメモリのみを割り当て、メッセージ キューからデータを失うことなくメッセージ キューからメッセージを読み取ることができます。この問題を克服するためのアイデアを教えてください。

注: IBM メッセージ キューでは、長さを超えたデータを読み取ると、mqget 関数を渡す構造体にメッセージの実際のサイズが入力されます。このように、メッセージキューでこの操作を行う方法はありますか?

0 投票する
2 に答える
1419 参照

c - IPC msgrcv - 特定の 2 種類のメッセージのみを受信する

問題があります。

私にはプロセスがあります。それはクライアントであり、サーバーと呼ばれるプロセスです。クライアントとサーバーは、同じキューによって相互に通信します。クライアントがサーバーにメッセージ (リクエスト) を送信すると、サーバーはそれを処理し、確認または失敗のメッセージをクライアントに送り返す必要があります。long type = 1500101確認には があり、失敗にはがあるとしましょうlong type = 1500102

(C で msgrcv を使用して) これら 2 種類のメッセージ (クライアント) のみを待機することは可能ですか? そうでない場合、そのようなメカニズムを実行する最善の方法は何ですか?

0 投票する
3 に答える
573 参照

message-queue - IPC キュー内のメッセージの順序付け方法

IPC キュー内のメッセージが順序付けされているかどうかを知る必要があります。実際には、msgrvc 関数を呼び出したときに最初のメッセージがキューに入力されたのか、選択されたメッセージがランダムなのかを知る必要があります。

さて、私がこの質問をしたのは、コード msgrcv の一部の内部で、そのコードを意図していないメッセージを受け取ったときに、通常、メッセージを再キューイングし、キュー内の次のメッセージを読み取るためです。私が疑問に思っているのは、たとえば、彼がメッセージをフォローしている場合、

msgA、msgB、msgC

、キュー内に格納されてます

msgB、msgC、msgA

したがって、次の msgrcv の呼び出しで msgB が返されるか、またはその順序がランダムな場合は、再度 msgA を読み取ることができます

ありがとう、エンツォ