サイトが様変わりして驚いております。++it}私は現在上記の様なコードでTCPの受信ループ処理を書いております。この方法ではClientの数が1万人や10万人となった時に毎回その人数分ループが走り、非常に宜しくない事となります。して必要最小限のRecvを呼びたいと考えておりますが、もし他に良い書き方が御座いましたらご教授頂けますと幸いです。(出来ればパケットを受信しているSocketを的確に知りたい...)もし上記のやり方が普通だよ、という事でしたら自信が持てるというか安心致します。私は現在上記の様なコードでTCPの受信ループ処理を書いております。この方法ではClientの数が1万人や10万人となった時に毎回その人数分ループが走り、非常に宜しくない事となります。して必要最小限のRecvを呼びたいと考えておりますが、もし他に良い書き方が御座いましたらご教授頂けますと幸いです。int>ということはunix系を利用している前提で良いでしょか。オフトピックWindowsだとソケットはSOCKET型を使うのでrecv(std::pair<int,int>)の内容がよくわかりませんが,unix系だとselectを利用した非ブロッキングI/Oが基本かと。ディスクリプタの配列を用意しておいて,selectして,FD_ISSETでイベントを確認する形です。(ポートが16bit分しかないため)。10万の接続を受け入れたいのであれば,複数台で処理したり,TCPの接続時間を短くするなどの別の工夫が必要になります。1年前>>にこよん様パブリック(グローバル)IPで送受信出来ないという事であれば、にこよん様の記載された処理というよりはどちらかのPCのファイアーウォールあるいはルーターの設定が怪しいかと思われます。問題の切り分けとして1自分のPC、レンタルサーバーの送受信をテストしてみる2レンタルサーバーを2台借りて、同じソースコードでレンタルサーバー同士の送受信を試してみる(2で動作すればソースコードに問題は御座いません。私もほとんどサンプルコードで御座いますし技術的にも稚拙で御座いますので、ここにいらっしゃる他の方々にお尋ね頂いた方が宜しいかと思われます。>>Yuo様ServerがLinux、ClientはWinで行っております。Selectの仕様を勘違いしておりました。狙った挙動が実装出来そうです。(ポートが16bit分しかないため)。失念してしまっておりました。ログイン等を管理するMasterServerを一台置いて、ゲーム処理を行うGameServerを増やしていき負荷分散を行う予定でしたが、考えを改める必要がありますね...。RUDPを導入してみるなど少し根本から設計を見直してみます。ご回答有難う御座いました。計測はしておりませんので、そうした面で有利という可能性はありますね。ミクプラは自由にリンクできます。