Ruby-1.8.7-p72 (mswin32) socket protocol missing

artonです。

Ruby-1.8.7-p72 ですが、WSAEnumProtocolsで列挙されないプロトコルがあるた
め、Socket作成に失敗します。1.9.1でも同様だと思います。
具体的には、Vista64(32ビット互換レイヤ上)でAF_INET、PROTO_ICMP、
SOCK_RAWを指定してSocket.newを呼ぶと、上記の組み合わせがWSAEnumProtocols
では返らないため、エラーとなります。
しかし、実際には、WSASocketに対してLPWSAPROTOCOL_INFOパラメータにNULLを
設定すると、期待通りのsocketが作成されます。したがって、WSAEnumProtocols
ã§è¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸå ´åˆã§ã‚ã£ã¦ã‚‚ã€LPWSAPROTOCL_INFOにNULLを設定して
WSASocketを呼び出していただけないでしょうか。
パッチを添付します。
テストプログラムとしては、http://svn.arton.no-ip.info/raa/trunk/icmpping/
の、icmpping.rbとpingtest.rbでテストできると思います(Administratorの必
要がありますけど)。

よろしくお願いします。

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:37092] ruby-1.8.7-p72 (mswin32) socket protocol
missing”
on Nov.13,2008 21:10:43, [email protected] wrote:

Ruby-1.8.7-p72 e$B$G$9$,!“e(BWSAEnumProtocolse$B$GNs5s$5$l$J$$%W%m%H%3%k$,$”$k$?e(B
e$B$a!"e(BSockete$B:[email protected]$K<:GT$7$^$9!#e([email protected]$H;W$$$^$9!#e(B

trunke$B!"e(Bruby_1_9_1e$B!"e([email protected]|[email protected]$7$?LdBj$N$3$H$N$h$&$J5$e(B
e$B$,$7$^$9!#e(Br20166e$B$G$9!#e(B

e$B$=$l$G$O!#e(B

artone$B$G$9!#e(B

trunke$B!"e(Bruby_1_9_1e$B!"e([email protected]|[email protected]$7$?LdBj$N$3$H$N$h$&$J5$e(B
e$B$,$7$^$9!#e(Br20166e$B$G$9!#e(B
e$B3NG’$7$^$7$?!#F1$8$3$H$G$9$M!#!JK\Ev$O$A$g$C$H0c$C$F!“e([email protected]$He(Bproto_buffer
e$B$r;XDj$G$-$?$N$K%(%i!<[email protected]$+$i!”:F;[email protected]$a$J$h$&$J!Ke(B

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs