反復サーバーは比較的原始的です。そのプロトタイプは次のように記述できます。
while(1){new_fd =サーバーはクライアント接続を受け入れる(new_fd = accept(listenfd、XX、XX)))つまり、プロセスは、各クライアントから1つずつ送信された接続を処理することです。たとえば、クライアントは、自分自身が完了していない限り、接続を送信します。タスクは、その後、サーバーが処理後にソケットを閉じるまで、サーバーのプロセスを常に占有します。最も頻繁に使用されるサーバーは次のとおりです。1 while(1)2 {3 new_fd =サーバーはクライアント接続を許可します4 5(6は子プロセスです)5 {6子プロセスはlistenする必要がないため、//リスニングをオフにします。クライアントへの論理的な同時実行性メッセージの処理を担当します7メッセージを送信するための処理ロジック8 close new_fd 9 closeプロセス10} 11 close new_fd 12}したがって、クライアントはリクエストを処理するために自身を複製し、メインプロセスは常に待機しますそして、ブロックされることはありません、私は焦点がここにはないについて話したい、焦点はコード行12です! 1。サブプロセスフォークが2つの新しいソケット記述子を生成するとは思わないでください実際、子プロセスと親プロセスはlinten_fdとnew_fdを共有しています。アクセス数も> 0であるため(クライアントのnew_fdがまだ接続されているため)、new_fdアクセス数は1つ減少しますが、クライアントから切断されることはありません。 2。 12行目を書かないと、割り当て可能なソケット記述子が制限されているので、割り当て後に解放されなければ、リサイクルすることはできません。つまり、記述子が使い果たされる日が常にあります。 。次に、クライアントとの接続タスクが子プロセスに渡された後も、親プロセスは次の接続を待機して受け入れることができますが、親プロセスがクライアントとの接続を閉じない場合、接続は常に存在します。すべての顧客と同じように、この親プロセスにもクライアントがあり、接続は一定です。結果を知っておく必要があります。
元のインストール日を検索"中国語のシステム入力:cmd /k systeminfo
(例えば、メッセージキュー、共有メモリ) IPC通信システムID値が指定されなければならない確立します。典型的には、ftok ID機能により得られた値。次のようにftokプロトタイプは次のとおりです
を使用してLinuxのメモリ表示コマンド(free -m)を使用します。コマンドfree -mを使用できます。このコマンドはLinuxでのみ有効で、FreeBSDにはそのようなコマンドはありません。コ
Linuxでファイルへのアクセス制御は非常に重要な問題ですChmodはファイルのアクセス権を変更する方法です今日、ファイルのアクセス権を変更する別の方法が紹介されています。ファイルアクセス制御リスト