

C言語のソケットを用いて複数のクライアントとの通信ができるプログラムの作り方を勉強しています。Fork関数とpipe関数を用いて親ソケットと子ソケットを用意したのちにパイプでプロセス間通信を行おうとしています。この他になにを使えばそれぞれのクライアントに別々に送信することができますか？例えばですが複数人のゲーム通信で「次はあなたの番です」と順々にプレイヤーに送りたい場合はどうすればいいですか？  
select関数を使って上手いこと順番にメッセージ送ることが出来たりするのかなど色々調べたのですがよく理解できなかったので、何かアドバイスをくださるとありがたいです。


CC BY-SA 4.0
2022-09-03T14:15:35.250
90914
2022-09-03T22:22:48.820
54027
question
c socket
複数クライアントとのソケット通信でクライアントごとにメッセージを送る方法


一般的にこのようなプログラムを作る場合  
直接ソケット通信をするのではなく、Kafkaなどのメッセージキューを利用するのが  
効率がいいです。

通信相手のプロセスが起きているか否か、通信相手の増減の管理など  
自分で行うと、どんどんと記載量が増えてしまうので、既存の仕掛けを利用することでその部分を安価に実装するわけです。

直接の回答で申し訳ありませんが、きっかけの一つとしてご理解ください。

CからRESTでメッセージを突っ込むなど、割と面倒そうで覚えることは多そうですが。。。

<https://kafka.apache.org/documentation/>


CC BY-SA 4.0
2022-09-03T20:26:59.687
90917
2022-09-03T20:37:12.517
2022-09-03T20:37:12.517
10174
10174
90914
answer


コメントにもありますが、実際にコードを組んで、動かしてみては。  
なにを聞きたいのか、なにを問題にしてるのかちょっとわかりません


CC BY-SA 4.0
2022-09-03T22:22:48.820
90918
2022-09-03T22:22:48.820
27481
90914
answer