誰も見てないだろうから初歩的な質問してみる。
複数クライアントのチャットサーバにおいて
サーバがあるクライアントとの接続を確立したあとどうすべきか悩んでいます。
1、forkしてクライアントとの通信は子プロセスに任せる
親プロセスはそのソケットディスクリプタをcloseして新たにacceptする
送受信データの同期はプロセス間通信で親プロセスがなんとかする?
>>19のscを受け取った時点でfork、親プロセスはscをcloseしたあとにbindのところに戻る
2、ひとつのプロセスで通信と同期を全てまかなう
最初から接続上限数のソケットディスクリプタをつくっておいて
サーバの中で送受信を接続上限数分ループさせる
>>19のscを配列にして>>20のdo-whileをforにしてsc[i]を各々受信する感じ
1を使うとひとつのクライアントとの接続に不具合が発生しても
サーバがこけることはなさそうというのがメリットで
(他人の発言のような)送信すべきデータの取得がややこしそうになるというのがデメリット。
2の場合、親亀こけたら皆こけたの要領でひとつのクライアントとの通信不具合が
サーバ全体におよびそうというのがデメリットで
ループのおかげで受信の順番が決まってるのでそのときに送信をそれぞれ探ればいいから
送信データの取得はチャットだけを考えるなら簡単そうというのがメリット。
という風に考えています。
どっちをMMORPGサーバまで発展させると考えるなら採用すべきでしょうか?
間違った考え方をしている点や気づいていないメリットやデメリット、他の手段
などありましたらご指摘のほうお願いします。
MMORPG
■ このスレッドは過去ログ倉庫に格納されています
2006/01/22(日) 19:53:14ID:QU3Ld80h
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【大阪】日本一高い観覧車が落雷で緊急停止 約20人乗客が閉じ込められ9時間にわたり救助活動 [七波羅探題★]
- 【大阪】「もっとこっち来てよ」女子高校生を電車内に連れ込み 小学校教諭再逮捕「話をしたかっただけ [七波羅探題★]
- 【芸能】安達祐実 44歳の最新姿「ぇーーーーー!!!」「声出た」「なんなの」「まって」「ワオ」 [湛然★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★2 [ごまカンパチ★]
- ラピダス、第2工場建設でも見えぬ顧客 技術開発も難題山積 [蚤の市★]
- 自民 国会議員の歳費 月額5万円引き上げ 今国会での成立目指す [どどん★]
- 🖐( -᷄ὢ)これから>>2の>>3なんで……
- 小田原城行ってみようかな
- 【悲報】日本の田舎、もう住める場所じゃないと話題に
- 【福岡】自販機荒らし、もちろん犯人はジャップ🇯🇵🔨 [718678614]
- (´・ω・`)おはよ
- UFOの爆盛バーレル食べたい
