ネットワークプログラミング相談室 Port29at TECH
ネットワークプログラミング相談室 Port29 - 暇つぶし2ch215:デフォルトの名無しさん
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