私たちはいくつかのクライアントで非常に単純なサーバーをC言語で実装する必要があります。システムV IPCキューを使用すると、クライアントが登録されるキューを1つ作成し、すべてのクライアントに対して、メッセージを含むキューが1つ存在するという考えがあります。私はサーバーの部分について少し不思議です。したがって、すべての時間間隔のために、私はすべてのキューをチェックして、私がしなければならない何を、または多分私はキューの少なくとも一つがする準備ができているサーバーに通知するための信号を使用する必要がありますCで非常に単純なサーバー
while(1)
{
//some queue using code
sleep(100);
}
:私はこのような何かを持っている必要があります管理する。
通常のサーバーではどのように処理されますか?時間間隔があり、実行する必要があるすべてをチェックしているか、これを行うには適切な方法がありますか?
これは非常に基本的な答えは、その場所にあると定義し、プロトタイプを必要とするが、しかし、あなたの基本的な選択、例を与える必要があります:
Cの典型的なネットワーキングコードは、通常、['select()'](http://stackoverflow.com/questions/4171270/select-function-in-socket-programming)のようなもので実行されます。これはイベントベースです。ここではかなり良いガイドです(少なくとも私が使用したとき):http://beej.us/guide/bgnet/ – birryree
select()関数はSystem Vのキューのidで動作しますか? – Andna
私はそれについてはわかりません(おそらく7年でSystem Vのものに触れていません)。しかし、私が上にリンクしているガイドの一部は、System Vのキューの使い方についても議論しています:http://beej.us/guide /bgipc/output/html/multipage/mq.htmlあなたのケースでは、クライアントはソケット/ディスクリプタに接続して選択させ、 'select()'の代わりにキューを管理するようにします。キューに入れてください)。 – birryree