ネットワークプログラミング相談室 Port29at TECHネットワークプログラミング相談室 Port29 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト214:デフォルトの名無しさん 13/06/09 09:30:05.98 >>213 何を言いたいのか分からない FD_SETSIZEを超えたらまずいというのならその通り。 下のURLの方は、 >> if (s[smax] >= FD_SETSIZE) { でFD_SETSIZEを超えるものを除外してるから、 s[smax]がFD_SETSIZEを超えることはない 離散的だのベクターだのは意味不明 215:デフォルトの名無しさん 13/06/09 13:20:01.15 >>214 話を込み入らせてしまって申し訳ないですが、 >> if (s[smax] >= FD_SETSIZE) { これは少なくともWinsockでは不要ていうか、 >socket()は平気でこれ(FD_SETSIZE)より大きいfd番号を返してくる (211) という事実があるので、削除して試した 実際、あるとgetaddrinfo()で列挙されたlisten可能ポート(うちの環境では s[0] = 116, s[120]=120となった)が全てそのif文で除外され、 bind()やlisten()まで行き着かない。削除するとうまくいく(クライアントとつながり、"hello ::1"とか出る) >FD_SETSIZEを超えたらまずいというのならその通り。 「何が」FD_SETSIZEを超えたらまずいのかいまいちどお考えいただきたい FD_ISSET(a, b)の第一引数aが超えたらfd_set構造体をオーバーランするからまずい、というのが第一義だが、 しかし、>213の上のリンク先と、>213の下のリンク先では、第一引数に書かれている内容が異なるのですじゃ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch