とてもサイトが様変わりして驚いております。
(スレッド作成時の質問が難しい…)
std::map<int,int> clinetSockList;
// Clientの受け入れ待ちスレッド
int clinetSock = accept(serverSock, (struct sockaddr *)&client, &len);
clientSockList[count] = clientSock;
// 受信ループスレッド
iterator it = clientSockList.begin();
// 受け入れたClientの数だけRecvを呼んで、データが無いかをチェックする
while(it != clientSockList.end())
{
//ノンブロック設定済み
recv(*it);
++it
}
この方法ではClientの数が1万人や10万人となった時に毎回その人数分ループが走り、非常に宜しくない事となります。
どうにかして必要最小限のRecvを呼びたいと考えておりますが、もし他に良い書き方が御座いましたらご教授頂けますと幸いです。
(出来ればパケットを受信しているSocketを的確に知りたい…)
もし上記のやり方が普通だよ、という事でしたら自信が持てるというか安心致します。
宜しくお願い致します。