# Test/socket for Windows

**URL:** <https://www.ruby-forum.com/t/test-socket-for-windows/62676>\
**Category:** Development\
**Created:** [June 7, 2006, 8:13am UTC](https://www.ruby-forum.com/t/test-socket-for-windows/62676 "2006-06-07T08:13:20Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [June 7, 2006, 8:13am UTC](https://www.ruby-forum.com/t/test-socket-for-windows/62676/1 "2006-06-07T08:13:20Z")

</div>

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

e$B:G6a$Ne(Bsockete$B\<~$j$N%F%9%H$r\<B9T$7$F$$$F!“e(BWindowse$B$G$$$m$$$mLdBje(B  
e$B$,$”$k$H$$$&$3$H$K5$IU$-$^$7$?!#e(B  
e$B:GBg$NLdBj$Oe(B read\_nonblock e$B$He(B write\_nonblock  
e$B$G8G$^$C$A$c$&$He(B  
e$B$$$&$b$N$J$N$G$9$,!"$3$l$O$3$C$A$NLdBj$J$N$G$H$j$"$($:CV$$$Fe(B  
e$B$_$-$^$9e(B(e$BCV$$$F$_$$$F$$$$OC$G$b$J$$$s$G$9$,e(B…)e$B!#e(B

e$B$5$F!“e(Btest/socket/test\_nonblock.rbe$B$NCf$G$O!“e(B  
assert\_raise(Errno::EAGAIN) { … }  
e$B$H$$$&%A%’%C%/$,B?MQ$5$l$F$$$k$N$G$9$,!”$3$l$Oe(B  
assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) { … }  
e$B$K$9$Y$-$G$O$J$$$+$H;W$&$N$G$9$,!”@5$7$$$G$7$g$&$+e(B?

e$B$^$?!“e(BWindowse$B$G$O!“e(Bbinde$B$5$l$F$$$J$$e(Bsockete$B$KBP$9$ke(Brecvfrom()e$B$Oe(B  
EINVALe$B$rJV$9$N$G$9$,!”$3$l$O!“e(B  
(1) e$BHs\>o\<1$@!”$\*A0$,$J$s$H$+$7$me(B  
(2) e$B$=$&$$$&4D6-$@$H$$$&$J$i$=$l$O$=$l$G$”$j$+$Je(B  
(3) e$B$=$NB\>e(B  
e$B$N$$$:$l$@$H9M$($k$Y$-$G$7$g$&$+e(B?

e$B$^$?!"e(BUNIX  
Sockete$B$,B8:\_$7$J$$4D6-$KBP$9$kG[N8$b7g$1$F$$$k$h$&e(B  
e$B$K;W$o$l$^$9!#e(B

e$B0J\>ee(B3e$BE@$K4X$7$F!"e(B1e$BE@L$KIU$$$F$O!V@5$7$$!W!"e(B2e$BE@L$KIU$$$F$Oe(B(2)e$B!"e(B  
e$B$@$H2\>Dj$7$F$N%Q%C%A$G$9!#e(B

# Index: test/socket/test\_nonblock.rb

RCS file: /home/cvs/ruby/test/socket/test\_nonblock.rb,v  
retrieving revision 1.2  
diff -u -1 -p -r1.2 test\_nonblock.rb  
— test/socket/test\_nonblock.rb 4 Jun 2006 12:14:54 -0000 1.2  
+++ test/socket/test\_nonblock.rb 7 Jun 2006 06:01:43 -0000  
@@ -13,3 +13,3 @@ class TestNonblockSocket \< Test::Unit::T  
serv.listen(5)

- assert\_raise(Errno::EAGAIN) { serv.accept\_nonblock }

- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {  
serv.accept\_nonblock }  
c = Socket.new(Socket::AF\_INET, Socket::SOCK\_STREAM, 0)  
@@ -53,4 +53,4 @@ class TestNonblockSocket \< Test::Unit::T  
u1.bind(“127.0.0.1”, 0)

- assert\_raise(Errno::EAGAIN) { u1.recvfrom\_nonblock(100) }
- assert\_raise(Errno::EAGAIN) { u2.recvfrom\_nonblock(100) }

- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {  
u1.recvfrom\_nonblock(100) }
- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK, Errno::EINVAL) {  
u2.recvfrom\_nonblock(100) }  
u2.send(“aaa”, 0, u1.getsockname)  
@@ -63,3 +63,3 @@ class TestNonblockSocket \< Test::Unit::T  
assert\_equal(u2\_port, port)

- assert\_raise(Errno::EAGAIN) { u1.recvfrom\_nonblock(100) }

- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {  
u1.recvfrom\_nonblock(100) }  
u2.send("", 0, u1.getsockname)  
@@ -84,4 +84,4 @@ class TestNonblockSocket \< Test::Unit::T  
s = serv.accept

- assert\_raise(Errno::EAGAIN) { s.recvfrom\_nonblock(100) }
- assert\_raise(Errno::EAGAIN) { c.recvfrom\_nonblock(100) }

- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {  
s.recvfrom\_nonblock(100) }
- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {  
c.recvfrom\_nonblock(100) }  
s.write “aaa”  
@@ -104,3 +104,3 @@ class TestNonblockSocket \< Test::Unit::T  
s.close if s && !s.closed?

- end

- end if defined?(UNIXSocket)

@@ -110,4 +110,4 @@ class TestNonblockSocket \< Test::Unit::T  
s2 = Socket.new(Socket::AF\_INET, Socket::SOCK\_DGRAM, 0)

- assert\_raise(Errno::EAGAIN) { s1.recvfrom\_nonblock(100) }
- assert\_raise(Errno::EAGAIN) { s2.recvfrom\_nonblock(100) }

- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {  
s1.recvfrom\_nonblock(100) }
- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK, Errno::EINVAL) {  
s2.recvfrom\_nonblock(100) }  
s2.send(“aaa”, 0, s1.getsockname)  
@@ -136,4 +136,4 @@ class TestNonblockSocket \< Test::Unit::T  
c, s = tcp\_pair

- assert\_raise(Errno::EAGAIN) { c.read\_nonblock(100) }
- assert\_raise(Errno::EAGAIN) { s.read\_nonblock(100) }

- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {  
c.read\_nonblock(100) }
- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {  
s.read\_nonblock(100) }  
c.write(“abc”)  
@@ -142,3 +142,3 @@ class TestNonblockSocket \< Test::Unit::T  
assert\_equal(“bc”, s.read\_nonblock(100))

- assert\_raise(Errno::EAGAIN) { s.read\_nonblock(100) }

- assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {  
s.read\_nonblock(100) }  
ensure  
@@ -156,3 +156,3 @@ class TestNonblockSocket \< Test::Unit::T  
loop {

- 

```
 assert_raise(Errno::EAGAIN) {

```

- 

```
 assert_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) {
   loop {

```

# Index: test/socket/test\_socket.rb

RCS file: /home/cvs/ruby/test/socket/test\_socket.rb,v  
retrieving revision 1.8  
diff -u -1 -p -r1.8 test\_socket.rb  
— test/socket/test\_socket.rb 5 Jun 2006 09:15:46 -0000 1.8  
+++ test/socket/test\_socket.rb 7 Jun 2006 06:01:43 -0000  
@@ -82,2 +82,2 @@ class TestSocket \< Test::Unit::TestCase  
end  
-end  
+end if defined?(Socket) && Socket.respond\_to?(:sockaddr\_un)

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

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [June 7, 2006, 8:19am UTC](https://www.ruby-forum.com/t/test-socket-for-windows/62676/2 "2006-06-07T08:19:21Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:28694] test/socket for Windows”  
on Wed, 7 Jun 2006 15:12:25 +0900, “U.Nakamura”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|e$B$5$F!“e(Btest/socket/test\_nonblock.rbe$B$NCf$G$O!“e(B  
| assert\_raise(Errno::EAGAIN) { … }  
|e$B$H$$$&%A%'%C%/$,B?MQ$5$l$F$$$k$N$G$9$,!”$3$l$Oe(B  
| assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) { … }  
|e$B$K$9$Y$-$G$O$J$$$+$H;W$&$N$G$9$,!”@5$7$$$G$7$g$&$+e(B?

UNIXe$B7O$G$Oe(BEAGAINe$B$He(BEWOULDBLOCKe$B$OF1$8CM$N$3$H$,B?$$$\_$?$$$G$9e(B  
e$B$+$i$M!#N\>J};XDj$9$k$N$,@5$7$$$G$7$g$&!#e(B

|e$B$^$?!“e(BWindowse$B$G$O!“e(Bbinde$B$5$l$F$$$J$$e(Bsockete$B$KBP$9$ke(Brecvfrom()e$B$Oe(B  
|EINVALe$B$rJV$9$N$G$9$,!”$3$l$O!“e(B  
| (1) e$BHs\>o\<1$@!”$\*A0$,$J$s$H$+$7$me(B  
| (2) e$B$=$&$$$&4D6-$@$H$$$&$J$i$=$l$O$=$l$G$”$j$+$Je(B  
| (3) e$B$=$NB\>e(B  
|e$B$N$$$:$l$@$H9M$($k$Y$-$G$7$g$&$+e(B?

(2)e$B$+$J$"!#e(B

|e$B0J\>ee(B3e$BE@$K4X$7$F!"e(B1e$BE@L$KIU$$$F$O!V@5$7$$!W!"e(B2e$BE@L$KIU$$$F$Oe(B(2)e$B!"e(B  
|e$B$@$H2\>Dj$7$F$N%Q%C%A$G$9!#e(B

e$B%3%\_%C%H$7$F$/$@$5$$!#e(B

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [June 7, 2006, 10:02am UTC](https://www.ruby-forum.com/t/test-socket-for-windows/62676/3 "2006-06-07T10:02:56Z")

</div>

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

In message “[ruby-dev:28696] Re: test/socket for Windows”  
on Jun.07,2006 16:54:14, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| e$B$3$3$m$b$A!"e(BErrno::EWOULDBLOCK, Errno::EAGAIN e$B$N=g$,$$$$5$$,e(B  
| e$B$7$^$9!#e(B

e$B$“!\<!”$b$&F~$l$F$7$^$$$^$7$?!#e(B  
e$B$N$G!"5$$K$J$k$J$i=$@5$7$F$/$@$5$$!#e(B

| \> e$B$^$?!“e(BWindowse$B$G$O!“e(Bbinde$B$5$l$F$$$J$$e(Bsockete$B$KBP$9$ke(Brecvfrom()e$B$Oe(B  
| \> EINVALe$B$rJV$9$N$G$9$,!”$3$l$O!“e(B  
| \> (1) e$BHs\>o\<1$@!”$\*A0$,$J$s$H$+$7$me(B  
| \> (2) e$B$=$&$$$&4D6-$@$H$$$&$J$i$=$l$O$=$l$G$”$j$+$Je(B  
| \> (3) e$B$=$NB\>e(B  
| \> e$B$N$$$:$l$@$H9M$($k$Y$-$G$7$g$&$+e(B?  
|  
| e$BL\>A0$,L5$$%=%1%C%H$K$O$I$3$+$i$b%G!\<%?$,$/$k$O$:$,$J$$$N$G%G!\<e(B  
| e$B%?$r\<u$1\<h$i$J$$$O$:$@!“$H$$$&H=CG$J$s$G$9$+$M$'!#e(B  
|  
| Mac OS X e$B$G$N\<:GT$b$=$&$J$s$G$9$,!“L\>A0$,L5$$\>uBV$H$$$&$N$Oe(B  
| e$B$J$+$J$+G:$^$7$$$G$9$M!#e(B  
| [http://mput.dip.jp/autobuild/ruby-trunk/log/20060607T110000.gz](http://mput.dip.jp/autobuild/ruby-trunk/log/20060607T110000.gz)  
|  
| e$B$`$7$m!"L>A0$,$J$$>uBV$G$O$9$k$O$:$N$J$$A`:ne(B (recvfrom e$B$H$+e(B  
| getsockname e$B$H$+e(B) e$B$O$7$J$$$[$&$,$$$$$N$+$b$7$l$^$;$s!#e(B  
| e$B%”%W%j%1!\<%7%g%s$G$b$9$Y$-$G$O$J$$$N$@$+$i!”%F%9%H$bITMW$H$$e(B  
| e$B$&$3$H$G!#e(B  
|  
| e$B$G$b!“Mn$A$J$$$H$$$&$3$H$/$i$$$O%F%9%H$9$k0UL#$,$”$k!"$+$b$7e(B  
| e$B$l$J$$$N$G$I$C$A$,$$$$$+$J!#e(B

e$BMn$A$J$$$H$$$&$3$H$r%F%9%H$7$F$$$k!“$H$$$&$3$H$G$”$l$P!“$5$7e(B  
e$B$”$?$C$F8=\>u$/$i$$$G$$$$$s$G$9$+$M$(!#e(B  
e$B$^$?0c$C$?7k2L$,=P$k%W%i%C%H%U%)!\<%`$r8+$D$1$?$i!"$b$&$A$g$Ce(B  
e$B$H=q$-J}$r9M$($k$H$$$&$3$H$G!#e(B

| e$B$&$%$`!#e(BAF\_INET e$B0J30$Ne(B AF\_xxx e$B$C$F$J$$$N$+$J!#e(B

e$BDj?t$NDj5A$O$“$k$s$G$9$1$I!”$"$k$@$1e(B…

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

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [June 8, 2006, 6:33am UTC](https://www.ruby-forum.com/t/test-socket-for-windows/62676/4 "2006-06-08T06:33:43Z")

</div>

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

In message “[ruby-dev:28694] test/socket for Windows”  
on Jun.07,2006 15:12:25, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| e$B:G6a$Ne(Bsockete$B\<~$j$N%F%9%H$r\<B9T$7$F$$$F!“e(BWindowse$B$G$$$m$$$mLdBje(B  
| e$B$,$”$k$H$$$&$3$H$K5$IU$-$^$7$?!#e(B  
| e$B:GBg$NLdBj$Oe(B read\_nonblock e$B$He(B write\_nonblock e$B$G8G$^$C$A$c$&$He(B  
| e$B$$$&$b$N$J$N$G$9$,!“$3$l$O$3$C$A$NLdBj$J$N$G$H$j$”$($:CV$$$Fe(B  
| e$B$_$-$^$9e(B(e$BCV$$$F$_$$$F$$$$OC$G$b$J$$$s$G$9$,e(B…)e$B!#e(B

e$B:#2s$O!"A02sCV$$$F$\*$$$?$3$C$A$NOC$NJ}$G$9!#e(B

Windowse$B$G$O!“%U%!%$%k%G%9%/%j%W%?$KBP$7$F%N%s%V%m%C%-%s%0%b!\<e(B  
e$B%I$r@\_Dj$G$-$?$j$O$7$J$$$N$G$9$,!”%=%1%C%H$OFCJL07$$$H$7$F$=e(B  
e$B$l$,2DG=$K$J$C$F$$$^$9!#e(B  
e$B$7$+$7!"e(BWindowse$B$G$O%U%!%$%k%G%9%/%j%W%?e(B(Ce$B%i%s%?%$%`$,4IM}$7$Fe(B  
e$B$$$^$9e(B)e$B$H%=%1%C%He(B(OSe$B$,4IM}$7$F$$$^$9e(B)e$B$OA4$/$NJLJ\*$J$N$G!“e(BRuby  
e$B$N\<BAu$G$O$3$NJU$r$&$^$/$4$^$+$7$F!”%=%1%C%H$H%U%!%$%k%G%9%/e(B  
e$B%j%W%?$rL5M}LpM}7k$S$D$1$k$3$H$K$h$C$F!“e(BRubye$BK\BNB&$N%3!\<%I$,e(B  
e$B$3$NLdBj$r5$$K$;$:$K\<h$j07$($k$h$&$K$7$F$”$j$^$9!#e(B

e$B$5$F!“e(BCe$B%i%s%?%$%`$Ne(Bread()/write()e$B$O!”$$$s$A$-%U%!%$%k%G%9%/%je(B  
e$B%W%?$r;H$C$F%=%1%C%H$rEO$5$l$F$b$=$l$J$j$K@5$7$/F0:n$7$^$9!#e(B  
e$B$7$+$7!“e(Bread()/write()e$B$O85!9%=%1%C%H$,EO$5$l$k$3$H$rA[Dj$7$Fe(B  
e$B:n$i$l$F$O$$$J$$$N$G!”%N%s%V%m%C%-%s%0%b!\<%I$NB8:\_$r$^$C$?$/e(B  
e$BCN$j$^$;$s!#e(B  
e$B%=%1%C%H$KBP$9$ke(Bread\_nonblocke$B!“e(Bwrite\_nonblocke$B$b!“7k6IFbIt$G$Oe(B  
read()/write()e$B$r;H$C$F$$$k$N$G!”$=$3$G$”$($J$/%V%m%C%/$7$F$7e(B  
e$B$^$&$o$1$G$9!#e(B  
e$B0J\>e$,LdBj$NGX7J$G$9!#e(B

e$B$5$F!“%=%1%C%H$N$3$H$J$s$+CN$i$J$$e(Bread()/write()e$B$r;H$&$+$iLde(B  
e$BBj$,H/@8$7$F$k$o$1$G$9$+$i!”$A$c$s$H%=%1%C%H$N$3$H$rCN$C$F$$e(B  
e$B$k2?$+$r;H$($P$3$NLdBj$O2sHr$G$-$^$9!#e(B  
e$B6qBNE\*$K$O!“e(Brecv()/send()e$B$r;H$($P!”%N%s%V%m%C%-%s%0%b!\<%I;~$Ke(B  
e$B$O$A$c$s$H%V%m%C%/$;$:$KF0:n$7$^$9!#e(B

e$B$3$l$G$a$G$?$7$a$G$?$7!“$H8@$$$?$$$H$3$m$J$N$G$9$,!“e(BWindowse$B$Ke(B  
e$B$O%F%-%9%H%b!\<%I!”%P%$%J%j%b!\<%I$H$$$&$d$C$+$$$J$b$N$,$”$j$^e(B  
e$B$7$F!"e(Brecv()/send()e$B$O%F%-%9%H%b!\<%I$NB8:\_$rCN$j$^$;$s!#e(B

e$B0J\>e$rF’$^$($F!"$4AjCL$G$9!#e(B  
e$B$$$C$?$$$I$&$9$k$N$,$h$$$G$7$g$&e(B?

(1) Windowse$B$G$Oe(Bread\_nonblocke$B!“e(Bwrite\_nonblocke$B$OD|$a$me(B  
(2) e$B%P%$%J%j%b!\<%I$N;~$@$1e(Brecv()/send()e$B$r;H$(e(B  
(3) (2)e$B$K2C$($F!”%N%s%V%m%C%-%s%0%b!\<%I$N;~$O\<+F0E\*$K%P%$%J%je(B  
e$B%b!\<%I$K$7$me(B  
(4) (2)e$B$J$s$@$1$I!“$=$b$=$b%=%1%C%H$O%P%$%J%j%b!\<%I@lMQ$K$7$me(B  
(5) e$B%F%-%9%H%b!\<%I$r%5%]!\<%H$7$?e(Brecv()/send()e$B$r=q$1e(B  
(6) e$B$=$NB\>$N0F$,$”$l$P$I$&$\>e(B

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

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [June 7, 2006, 9:56am UTC](https://www.ruby-forum.com/t/test-socket-for-windows/62676/5 "2006-06-07T09:56:55Z")

</div>

In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
“U.Nakamura” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> e$B$5$F!“e(Btest/socket/test\_nonblock.rbe$B$NCf$G$O!“e(B  
> assert\_raise(Errno::EAGAIN) { … }  
> e$B$H$$$&%A%'%C%/$,B?MQ$5$l$F$$$k$N$G$9$,!”$3$l$Oe(B  
> assert\_raise(Errno::EAGAIN, Errno::EWOULDBLOCK) { … }  
> e$B$K$9$Y$-$G$O$J$$$+$H;W$&$N$G$9$,!”@5$7$$$G$7$g$&$+e(B?

e$B$\*$)!#0c$&4D6-$,$"$C$?$s$G$9$M!#e(B

e$B$3$3$m$b$A!"e(BErrno::EWOULDBLOCK, Errno::EAGAIN e$B$N=g$,$$$$5$$,e(B  
e$B$7$^$9!#e(B

> e$B$^$?!“e(BWindowse$B$G$O!“e(Bbinde$B$5$l$F$$$J$$e(Bsockete$B$KBP$9$ke(Brecvfrom()e$B$Oe(B  
> EINVALe$B$rJV$9$N$G$9$,!”$3$l$O!“e(B  
> (1) e$BHs\>o\<1$@!”$\*A0$,$J$s$H$+$7$me(B  
> (2) e$B$=$&$$$&4D6-$@$H$$$&$J$i$=$l$O$=$l$G$”$j$+$Je(B  
> (3) e$B$=$NB\>e(B  
> e$B$N$$$:$l$@$H9M$($k$Y$-$G$7$g$&$+e(B?

e$BL\>A0$,L5$$%=%1%C%H$K$O$I$3$+$i$b%G!\<%?$,$/$k$O$:$,$J$$$N$G%G!\<e(B  
e$B%?$r\<u$1\<h$i$J$$$O$:$@!"$H$$$&H=CG$J$s$G$9$+$M$'!#e(B

Mac OS X e$B$G$N\<:GT$b$=$&$J$s$G$9$,!"L\>A0$,L5$$\>uBV$H$$$&$N$Oe(B  
e$B$J$+$J$+G:$^$7$$$G$9$M!#e(B  
[http://mput.dip.jp/autobuild/ruby-trunk/log/20060607T110000.gz](http://mput.dip.jp/autobuild/ruby-trunk/log/20060607T110000.gz)

e$B$`$7$m!"L>A0$,$J$$>uBV$G$O$9$k$O$:$N$J$$A`:ne(B (recvfrom e$B$H$+e(B  
getsockname e$B$H$+e(B) e$B$O$7$J$$$[$&$,$$$$$N$+$b$7$l$^$;$s!#e(B  
e$B%“%W%j%1!\<%7%g%s$G$b$9$Y$-$G$O$J$$$N$@$+$i!”%F%9%H$bITMW$H$$e(B  
e$B$&$3$H$G!#e(B

e$B$G$b!“Mn$A$J$$$H$$$&$3$H$/$i$$$O%F%9%H$9$k0UL#$,$”$k!"$+$b$7e(B  
e$B$l$J$$$N$G$I$C$A$,$$$$$+$J!#e(B

> e$B$^$?!"e(BUNIX Sockete$B$,B8:\_$7$J$$4D6-$KBP$9$kG[N8$b7g$1$F$$$k$h$&e(B  
> e$B$K;W$o$l$^$9!#e(B

e$B$9$$$^$;$s!#e(B

> — test/socket/test\_socket.rb 5 Jun 2006 09:15:46 -0000 1.8  
> +++ test/socket/test\_socket.rb 7 Jun 2006 06:01:43 -0000  
> @@ -82,2 +82,2 @@ class TestSocket \< Test::Unit::TestCase  
> end  
> -end  
> +end if defined?(Socket) && Socket.respond\_to?(:sockaddr\_un)

e$B$&$%$`!#e(BAF\_INET e$B0J30$Ne(B AF\_xxx e$B$C$F$J$$$N$+$J!#e(B

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [June 8, 2006, 6:49am UTC](https://www.ruby-forum.com/t/test-socket-for-windows/62676/6 "2006-06-08T06:49:10Z")

</div>

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

In message “[ruby-dev:28698] nonblocking socket operation on Windows  
(Re: test/socket for Windows)”  
on Jun.08,2006 13:31:45, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| e$B$3$l$G$a$G$?$7$a$G$?$7!“$H8@$$$?$$$H$3$m$J$N$G$9$,!“e(BWindowse$B$Ke(B  
| e$B$O%F%-%9%H%b!\<%I!”%P%$%J%j%b!\<%I$H$$$&$d$C$+$$$J$b$N$,$”$j$^e(B  
| e$B$7$F!“e(Brecv()/send()e$B$O%F%-%9%H%b!\<%I$NB8:\_$rCN$j$^$;$s!#e(B  
|  
|  
| e$B0J\>e$rF’$^$($F!”$4AjCL$G$9!#e(B  
| e$B$$$C$?$$$I$&$9$k$N$,$h$$$G$7$g$&e(B?  
|  
| (1) Windowse$B$G$Oe(Bread\_nonblocke$B!“e(Bwrite\_nonblocke$B$OD|$a$me(B  
| (2) e$B%P%$%J%j%b!\<%I$N;~$@$1e(Brecv()/send()e$B$r;H$(e(B  
| (3) (2)e$B$K2C$($F!”%N%s%V%m%C%-%s%0%b!\<%I$N;~$O\<+F0E\*$K%P%$%J%je(B  
| e$B%b!\<%I$K$7$me(B  
| (4) (2)e$B$J$s$@$1$I!“$=$b$=$b%=%1%C%H$O%P%$%J%j%b!\<%I@lMQ$K$7$me(B  
| (5) e$B%F%-%9%H%b!\<%I$r%5%]!\<%H$7$?e(Brecv()/send()e$B$r=q$1e(B  
| (6) e$B$=$NB\>$N0F$,$”$l$P$I$&$\>e(B

e$B$H$+=q$$$F$+$i\<BAu$rFI$\_D\>$7$F5$IU$$$?$s$G$9$,!"$=$b$=$b%=%1e(B  
e$B%C%H$O4{$K%P%$%J%j%b!\<%I@lMQ$G$7$?e(B orz

e$B$J$s$@!"AjCL$9$k$^$G$b$J$$$8$c$se(B…

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

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [June 9, 2006, 8:32pm UTC](https://www.ruby-forum.com/t/test-socket-for-windows/62676/7 "2006-06-09T20:32:39Z")

</div>

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

> | e$B$&$%$`!#e(BAF\_INET e$B0J30$Ne(B AF\_xxx e$B$C$F$J$$$N$+$J!#e(B
> 
> e$BDj?t$NDj5A$O$“$k$s$G$9$1$I!”$“$k$@$1e(B…  
> e$B0l1~!“e(BAF\_INET6e$B$O$”$jF@$k$H;W$$$^$9$,!J$G$b!”;H$C$?$3$H$J$$$7!";H$&M=Dj$be(B  
> e$B$J$$$1$I!K!D!D!#e(B

–  
arton [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [June 9, 2006, 11:42pm UTC](https://www.ruby-forum.com/t/test-socket-for-windows/62676/8 "2006-06-09T23:42:17Z")

</div>

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

In message “[ruby-dev:28706] Re: test/socket for Windows”  
on Jun.10,2006 03:29:57, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| \> | e$B$&$%$`!#e(BAF\_INET e$B0J30$Ne(B AF\_xxx e$B$C$F$J$$$N$+$J!#e(B  
| \>  
| \> e$BDj?t$NDj5A$O$“$k$s$G$9$1$I!”$“$k$@$1e(B…  
| e$B0l1~!“e(BAF\_INET6e$B$O$”$jF@$k$H;W$$$^$9$,!J$G$b!”;H$C$?$3$H$J$$$7!";H$&M=Dj$be(B  
| e$B$J$$$1$I!K!D!D!#e(B

e$B\<B$Oe(Bmswin32e$B$G$Oe(BIPv6e$B;H$($k$h$&$K$7$F$"$j$^$;$s!#e(B  
e$B$H$$$&$N$O!"e(BIPv6e$B;H$($k$h$&$K$7$F%3%s%Q%$%k$7$?%P%$%J%j$O!"e(BIPv6  
e$B;H$($J$$$H$3$m$K;}$C$F$$$/$HF0$+$J$/$J$k$N$Ge(B…

# e$BC/$b$3$l$K6l\>p=P$5$J$$$+$iK:$l$F$?e(B…

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