マルチプルアクセス可能なサーバ

  概要   プログラム   解説

プログラムの解説

ソケットのアドレスの設定

bind()でサーバのアドレスとポートの設定までは 「単一のアクセスを受け付けるサーバ」と同じです。

listenでの複数アクセスの許可設定

listen()では最高いくつのアクセスを受け付けるかを設定します.

listen(listen_socket,MaxClient);

ここでは、最高MaxClientの数のアクセスを受けることができるように なります。

各入力のselect()

標準入力、listenしているソケット、接続済みのソケット についてselect()で入力があるか確認しながら以下のように 処理を行います。(selectについては 「select()を使った送受信プログラム 」 をご覧ください )

標準から入力があった場合
入力の内容を接続しているソケットに送信します

listenしているソケットから入力があった場合
接続を受け付け、接続しているソケットのリストに追加します

接続しているソケットから入力があった場合
入力の内容を他のソケットと標準入力に送信します

こうして,チャットを行うことができます。
FC Labのホームへ 「ネットワークプログラミング」のページへ