因此,這裏的情況,我要開發UNIX用c多玩家遊戲。現在我創建了套接字,服務器和客戶端通信正常。現在這個遊戲包括板,所以每個客戶端具有的100x40其自己的2D陣列,以及他們正在使用的讀/寫(其工作確定太)到服務器發送所述x和y位置。ç共享內存使用fork()的
現在,在服務器上,我使用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 – 2012-04-14 15:35:11
爲什麼不使用線程而不是進程? – 2012-04-14 15:35:31
我們的講師強烈建議使用分叉來代替它,因爲它更容易,不需要擔心競爭條件等。 – 2012-04-14 16:00:28