ここで状況はありますが、私はunixでcを使ってマルチプレーヤーゲームを開発しなければなりません。今私はソケットを作成し、サーバーとクライアントはokを通信しています。今ではこのゲームにはボードが含まれているので、各クライアントは100x40の2次元配列を持ち、読み取り/書き込み(これも正常に動作しています)を使ってxとyの位置をサーバーに送ります。fork()を使ったC共有メモリ
今、サーバーでは、新しいクライアントがゲームに参加できるようにfork()を使用しています。子供のセクションでは、私はxとyの位置を受け取ります。今私の質問は、どのように私はxとyの位置を "グローバル"ボード[100] [40]サーバー(私は衝突などを確認することがあります)で見つけることができます保存されます。私が探している難しさは、私がfork()を使っているので、各子供が独自のバージョンのボードを持っていることです。私はその特定の子のボードを更新するだけです。クライアントがxとyの位置を送信するたびに、サーバーにあるボードにそれらを配置したいと思います。
私は、共有メモリのような何らかのIPCを使う必要があるが、それを理解することはできないと読んだ。もし誰でもそれが大いに感謝されるのを助けることができたら、ありがとう。
この答えはあなたを助けることができます。http://stackoverflow.com/questions/1327349/how-can-i-share-memory-between-parent-child-process-that-free-the-memory-automat –
なぜプロセスの代わりにスレッドを使用しないでください。 –
私たちの講師は、フォークを代わりに使用することを強くお勧めしました。レッグコンディションなどを心配する必要はありません。 –