私はクライアントがチャットできる非常に基本的なCサーバを実装しています。今私はfork()を使用していますが、クライアントにお互いのメッセージを見せてもらうのが難しいです。フォークベースのサーバーでクライアントとクライアントの通信は可能ですか?
また、すべてのクライアントがaccept()から同じファイル記述子を取得したようです。基本的には、誰かがselect()、accept()、connection()、fork()を使って接続したい場合にテストするwhileループがあります。その後、私は入力を読んで、リストに入れているすべてのユーザーにそれらを渡そうとします。必要に応じて私のコードをコピー/ペーストすることができます。
クライアントとプロセスとの通信が可能か、pthreadを使用する必要がありますか?
ええ、サーバー上のすべてのクライアントのリストを既に持っている間は、クライアントとクライアント間の直接通信という考えはまったく嫌いです。私はそれがpthreadsだと思います... – Novice
いいえ、pthreadsは共通の仮想アドレス空間を共有します。 –
私はそれがpthreadsで行うことができることを知っていますが、可能であればプロセスでも疑問に思っていました。それはちょうど地元のチャットサーバーです。 – Novice