Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Winsock Programmer's FAQ: Winsock$B=i?4<T$N$?$a$N>pJs(B
[go: Go Back, main page]

Winsock Programmer's FAQ
$BBh(B2$B>O(B: Winsock $B=i?4pJs(B

2.1 - $B%M%C%H>e$GF~

$B$O$$!#(B$B>pJs8;(B$B$N%Z!<%8$K$$$/$D$+!"$^(B $B$?!"(BFAQ $B$N(B $B%5%s%W%k%W%m%0%i%`(B$B$N>O$K$b$5(B $B$i$K$$$/$D$+%j%9%H%"%C%W$5$l$F$$$^$9!#$^$@(B Winsock $B$r;O$a$?$P$+$j$G$"$l$P!"(B $BFC$K(B $B$3$A$i(B$B$NNc$,M-MQ$G$7$g$&!#(B

2.2 - WSAStartup $B8F$S=P$7$NA0$K(B WSAData $B9=B$BN$r=i4|2=$9$kI,MW$O$"$k$N$G$9$+(B?

$B$$$$$(!"(BWSAStartup() $B<+?H$,I,MW$J%G!<%?$rKd$a$F$/$l$^$9!#(B

2.3 - Winsock $B%W%m%0%i%`$r%3%s%Q%$%k$7$h$&$H$9$k$H%j%s%/%(%i!<$,=P$A$c$$$^$7$?!#2?$,0-$$$s$G$7$g$&(B?

$B$*$=$i$/!"@5$7$$(B Winsock $B%$%s%]!<%H%i%$%V%i%j$r%j%s%/$7$F$$$J$$$N$G$7$g(B $B$&!#(B16bit $B$N(B Windows $B%7%9%F%`$G$O!"(Bwinsock.lib $B$,@5$7$$%i%$%V%i%j$G$9!#(B 32bit Windows $B%7%9%F%`$G(B Winsock 1.1 $B$N5!G=$7$+;H$C$F$$$J$$$b$N$G$O(B wsock32.lib $B$G$9!#$=$7$F(B Winsock2 $B$N%5%]!<%H$,I,MW%W%m%0%i%`$G$O(B ws2_32.lib $B$r%j%s%/$9$kI,MW$,$"$j$^$9!#(B

2.4 - Winsock $B$r;H$C$F=q$$$?%W%m%0%i%`$O!"(BUnix $B$N%=%1%C%H%W%m%0%i%`$HDL?.$G$-$k$N$G$9$+(B?

$B$b$C$A$m$s(B! $B$3$N

$BJ#?t%W%i%C%H%U%)!<%`4V$N%M%C%H%o!<%/=hM}$r07$&A0$K!"(BFAQ $B$NO@@b5-;v!V(BTCP$B$r8zN($h$/;H$&$?$a$K(B$B!W$r;2>H$7$F(B $B$/$@$5$$!#$3$N5-;v$G$O!"9=B$BN$N%Q%G%#%s%0$d%G!<%?I=8=$H$$$C$?!"%W%i%C%H%U%)!<(B $B%`$r$^$?$,$k>l9g$K$R$C$+$+$kLdBjE@$r$$$/$D$+O@$8$F$$$^$9!#(B

2.5 - Winsock $B$O!X;d$N9%$-$J8@8l!Y$G;H$&$3$H$,$G$-$^$9$+(B?

$B:r:#$N%W%m%0%i%`8@8l$G$O$?$$$F$$(B Winsock $B$K%"%/%;%9$9$k$?$a$N2?$i$+$NJ}(B $BK!$,MQ0U$5$l$F$$$^$9$,!"(BC $B$+(B C++ $B0J30$GD>@\;HMQ$5$l$k$3$H$O$[$H$s$I$"$j$^$;(B $B$s!#$3$l$K$O$$$/$D$+$NM}M3$,$"$j$^$9!#(B

$BM}M3(B 1: $BC1$K(B Winsock API $B$r8F$S=P$9$?$a$N5!G=$r;}$C$F$$$J$$!#(B Winsock API $B$r;H$$$3$J$9$K$O!"$=$N8@8l$K0J2<$N5!G=$,$J$1$l$P$J$j$^$;$s!#(B

  1. $B%]%$%s%?!#(B($B%a%b%j$NFCDj$N0lItJ,$r%"%I%l%9$G%"%/%;%9$G$-$kG=NO!#(B)
  2. $B%S%C%HA`:n!#(B(1$B%P%$%H$NCf$NFCDj$N%S%C%H$rA`:n$9$kG=NO!#(B)
  3. $B9=B$BN$^$?$O%l%3!<%I!#(B(2$BJ8;z$H$=$l$KB3$/(B16bit$B@0?t!"$H$$$C$?$h$&$J!"C1=c(B $B%G!<%?MWAG$,=8$^$C$?$b$N$r0l8D$N%a%b%j%V%m%C%/$H$7$F07$&G=NO!#$3$N5!G=$K$h$C(B $B$F!"%a%b%j$NCf$K%G!<%?$,$I$N$h$&$KG[CV$5$l$k$+$r$"$kDxEY@)8f$G$-$J$/$F$O$J(B $B$i$J$$!#(B)

$BM}M3(B 2: $BB?$/$N8@8l$G$O!"2?$i$+$N%3%s%]!<%M%s%H%"!<%-%F%#%/%A%c(B($B$?(B $B$H$($P(B ActiveX)$B>e$G!"%M%C%H%o!<%/%"%/%;%9$N$h$&$J30It%5!<%S%9$rDs6!$7$F$$$k!#(B $B$=$N8@8l4D6-$KIUB0$9$k4pK\E*$J%M%C%H%o!<%/%3%s%]!<%M%s%H$@$1$G!"$?$$$F$$$N(B $B;E;v$K$O==J,$G$"$k!#$b$7I,MW$J%3%s%]!<%M%s%H$,$D$$$F$3$J$$!"$"$k$$$O==J,$J(B $B5!G=$r;}$C$F$$$J$+$C$?$H$7$F$b!"$=$l$r<+J,$G(B Winsock $B$r;H$C$F=q$+$J$/$F$b!"(B $B%5!<%I%Q!<%F%#@=$N%i%$%V%i%j(B$B$rC5$9$H(B $BI,MW$J$b$N$O8+$D$+$k$+$b$7$l$J$$!#(B

$BM}M3(B 3: $B$h$j?7$7$$8@8l(B $B!](B $BFC$K%/%m%9%W%i%C%H%U%)!<%`$J%9%/%j%W%H(B $B8@8l(B $B!](B $B$K$O!"%M%C%H%o!<%/MQ$N8@8l5!G=$,4^$^$l$F$$$k!#(B($BNc$($P!"(BJava, Perl Python, Tcl $B$J$I$,4^$^$l$k!#(B)$B%W%m%0%i%^!<$N;kE@$+$i$O!"$3$l$i$N8@8l$G=q$$$F(B $B$$$k$H$-$K(B Winsock $B$r5$$K$7$J$1$l$P$J$i$J$$$3$H$O$^$:$J$$!#(B

$B$3$l$i$NM}M3$=$NB>$K$h$j!"$3$N(B FAQ $B$O(BC++ $B4s$j$KJP$C$F(B$B$$$^$9!#(B

$B$b$7(B Winsock API $B$KD>@\%"%/%;%9$G$-$k$h$&$J8@8l$r;HMQ$7$F$$$k$N$G$"$l$P!"(B $B$3$N(B FAQ $B$N(B C++ $B$N%3!<%I$r!"$=$N8@8l$GEy2A$J%3!<%I$KJQ49$G$-$k$G$7$g$&!#$G(B $B$9$,!"JQ49$r;O$a$kA0$K!"$3$N(B FAQ $B$N(B Web$B>e(B $B$N>pJs8;(B$B$N>O$+$i!"$=$N8@8l$G$N%5%s%W%k%3!<%I$rC5$7$F!"

2.6 - Winsock $B%W%m%0%i%`$r%G%P%C%0$9$k$N$K2?$+NI$$%D!<%k$O$"$j$^$;$s$+(B?

$B%G%P%C%0MQ%D!<%k$K$OFs$D$N%+%F%4%j$,$"$j$^$9!#$R$H$D$O%M%C%H%o!<%/%"%J%i(B $B%$%6(B($B%9%K%U%!!

$B%9%K%U%!!<$ODL>o%=%U%H%&%'%"%Q%C%1!<%8$G!"(BLAN$B>e$N$I$3$+$N%o!<%/%9%F!<%7%g(B $B%s$GF0:n$5$;$^$9!#DL>o$N(BLAN$B$NF0:n86M}$K=>$C$F!"(BLAN$B>e$rN.$l$kA4$F$N%H%i%U%#%C(B $B%/$r%-%c%W%A%c!<$7$^$9!#$?$$$F$$$N%9%K%U%!!<$O$"$kDxEY$O%H%i%U%#%C%/$N%G%3!<(B $B%I$b9T$$$^$9!#%9%K%U%!!<$rMxMQ$9$k$3$H$NMxE@$O!"J8;zDL$jDL?.$NA4$F$r8+$k$3(B $B$H$,$G$-$kE@$G$9!#(BWinsock $B%l%$%d$+$i$OMxMQ$G$-$J$$Dc%l%Y%k$N>\:Y$J%W%m%H%3(B $B%k$b4^$a$F!"$G$9!#$^$?!"M%$l$?%9%K%U%!!<$OHs>o$K6/NO$K%+%9%?%^%$%:2DG=$G$9!#(B $BNc$($P!"<+J,$G3+H/$7$?FH<+%W%m%H%3%k$J$I!"$I$s$J%W%m%H%3%k$G$b%G%3!<%I$G$-(B $B$k!V%W%m%H%3%k%W%i%0%$%s!W$,:n@.$G$-$k$b$N$b$"$j$^$9!#(B

$B$b$&0l$D$N%G%P%C%0%D!<%k$N%+%F%4%j$O!V(BWinsock $B$/$5$S!W$G$9!#$/$5$S$O!"(B $B$"$J$?$N:n$C$?%W%m%0%i%`$H(B Winsock $B$N4V$K64$^$C$F!"(BWinsock API $B$r!V%U%C%/(B ($B0z$C3]$1$k(B)$B!W$7$^$9!#$3$&$$$C$?%D!<%k$,$G$-$k$3$H$O!"(BWinsock $B%l%$%d$G$N%$(B $B%Y%s%H$r%b%K%?$9$k$3$H$d!"C10l$N%[%9%H>e$G$N%H%i%U%#%C%/$r%b%K%?$9$k$3$H$N(B $B$_$K8BDj$5$l$^$9!#$G$9$,!"$3$N%G%a%j%C%H$rAj;&$9$k$b$N$H$7$F!"%9%K%U%!!<$G(B $B$O8+$k$3$H$,$G$-$J$$$b$N$b8+$k$3$H$,$G$-$^$9!#Nc$($P!"0lO"$N(B Winsock $B8F$S(B $B=P$7$N@53N$J=g=x$G$"$k$H$+!"$=$l$>$l$N8F$S=P$7$GEO$5$l$?%Q%i%a%?CM$H$$$C$?(B $B$b$N$G$9!#(B

$B%M%C%H%o!<%/%W%m%0%i%`$N%G%P%C%0$r9T$&:]$K%9%K%U%!!<$r;H$&$+$/$5$S$r;H(B $B$&$Y$-$+!"$K$D$$$F$NL@3N$JA*Br4p=`$O$"$j$^$;$s!#$"$k>l9g$K$O!"$"$J$?$N%W%m(B $B%0%i%`Cf$N$I$3$KLdBj$,$"$k$+$rC5$9$?$a$K!"$=$N%W%m%0%i%`$,(B Winsock $B$r$I$N(B $B$h$&$K;HMQ$7$F$$$k$+$,@53N$K$o$+$k$/$5$S$NJ}$,Lr$KN)$D>l9g$,$"$j$^$9!#5U$K!"(B $B%^%7%s$+$iAw=P$5$l$k%G!<%?$r@53N$K8+$kI,MW$,$"$k>l9g$b$"$j$^$9!#$^$?!"(BPPP $B$d(B WAN $B@\B3$N$h$&$JE@BPE@@\B3$N>l9g!"$"$ku67$G$bMxMQ$G$-$^$9!#(B

$B$H$j$"$($:!"%U%j!<$N%9%K%U%!!<$rMxMQ$9$k$3$H$+$i;O$a$k$N$r$*4+$a$7$^$9!#(B $B$=$7$F@=IJ$N%9%K%U%!!<$N%G%bHG$r$$$/$D$+;n$7$F$_$F!"2?$+M_$7$$5!G=$,$D$$$F(B $B$$$k$+$I$&$+$r8+$F$_$k$H$h$$$G$7$g$&!#$3$N(BFAQ $B$N(B$B%G%P%C%0MQ%D!<%k(B$B$N>O$K$O!"8=:_;THN$5$l(B $B$F$$$k%9%K%U%!!<$N%j%s%/$,$"$j$^$9!#2?$+$*5$$KF~$j$N%9%K%U%!!<$r8+$D$1$?$J(B $B$i!"$5$i$K$3$N%Z!<%8$+$i!"$/$5$S$d$=$NB>$N%G%P%C%0%D!<%k$X$N%]%$%s%?$rC5$9(B $B$3$H$,$G$-$^$9!#(B

$B$^$?!"(BTCP/IP $B$N%G%P%C%0(B $B$N(B FAQ $B5-;v$G$b!"(BTCP$B%W%m%0%i%`$rR2p$7$F$$$^$9!#(B

$B;H$($J$$J}K!(B:$BF0:n$7$J$$!"$^$?$O$"$F$K$J$i$J$$%G%P%C%0(B $B%D!<%k$bB8:_$7$^$9!#0l$D$O(B SO_DEBUG $B%=%1%C%H%*%W%7%g%s$G$9!#$3$l$O(B Microsoft $B$N%9%?%C%/$G$OC1$KF0:n$7$^$;$s!#$b$&0l$D$O(B Winsock DLL $B$N%G%P%C(B $B%0MQ%W%i%0%$%s(B dt_dll.dll $B$G!"$3$NJ}K!$O$"$F$K$J$j$^$;$s!#(BBob Quinn $B$,$3$N(B $B>\:Y$K$D$$$F=R$Y$?(B$B5-;v(B$B$,$"(B $B$j$^$9!#(B

2.7 - Winsock $B$N%(%i!

$B$3$Nu67$K$D$$$F=PMh9g$$$N!VE,$7$?!W%(%i!<(B $B%a%C%;!<%8$,B8:_$9$k$H2>Dj$7$F$$$k!"$H$$$&E@$,$"$j$^$9!#8=l9g!"(B $B%W%m%0%i%`$NJ8L.$,$o$+$i$J$$$H!"%(%i!WSAEFAULT$B$NCM$O!"!VIT@5$J%]%$%s%?(B $BCM$,EO$5$l$?!W$H$$$&$3$H$b$"$k$7!"!VEO$5$l$?%P%C%U%!$,>.$5$9$.$k!W>l9g$b$"(B $B$k$7!">l9g$K$h$C$F$O!V$=$N%P!<%8%g%s$N(BAPI$B$O%5%]!<%H$5$l$F$$$J$$!W$H$$$&0U(B $BL#$G$5$($"$C$?$j$7$^$9!#(BWinsock $B;EMM$K$O!"$=$l$>$l$N4X?t$,JV$9$b$C$H$b$=$l(B $B$i$7$$%(%i!pJs$r85$K$b$C$H8-$$%(%i!<=hM}$r<+(B $BJ,$G9T$o$J$1$l$P$J$j$^$;$s!#(B

$B$=$l$G$b!"(BAPI$B8F$S=P$7$,2?$+M=A[30$NCM$rJV$9$3$H$,$"$j$($k$N$G!"0UL#ITL@(B $B$J%(%i!<%a%C%;!<%8$G$b2?$b=P$5$J$$$h$j$O$^$7$G$9!#$=$&$$$&>l9g$N$?$a$K!"%((B $B%i! $B$3$3$+$i(B$BWinsock $B%W%m%0%i%`$N4pK\%A%e!<%H%j%"%k(B$B$K$O!"(B Winsock $B%(%i!ws_util.cpp)$B$,4^$^$l$F$$$^$9!#(B

$B$b$7$+$7$?$i!"(BWin32 $B$N(B FormatMessage() API $B$r(BWinsock $B$N%((B $B%i!

2.8 - Winsock $B$,$:$C$H(BWSAEWOULDBLOCK$B$P$+$jJV$9$s$G$9$,!"2?$,0-$$$s$G$7$g$&(B?

$B2?$K$b0-$/$"$j$^$;$s!#(BWSAEWOULDBLOCK$B$O!"Hs%V%m%C%/$"$k$$$O(B $BHsF14|%=%1%C%H$r;HMQ$7$F$$$k%W%m%0%i%`$G$O!"$^$C$?$/@5>o$J>uBV$G$9!#$3$NCM(B $B$O!"!V;d$O:#$9$0$K$O$=$l$O$G$-$^$;$s!#$=$l$r$9$k$?$a$K$O;d$O(B$B%V%m%C%/(B$B$7$J$/$A$c$$$1$J$$$s$G$9!W$H$$$&(B $B0UL#$N(B Winsock $BN.I=8=$J$N$G$9!#(B

$B$9$k$Hsend()$B8F=P$7<:GT8e$K:F$S=q$-9~$_$,$G$-$k$h$&$K$J$C$?;~$K(B FD_WRITE $B%a%C%;!<%8$rAw$j$^$9!#$^$?(Brecv()$B8F$S=P(B $B$78e!"%=%1%C%H>e$K%G!<%?$,E~Ce$7$?$H$-$K$O(B FD_READ $B%a%C%;!<%8(B $B$rAw$j$^$9!#F1MM$K!"Hs%V%m%C%/7?%=%1%C%H$KBP$7$F(B select()$B$r;H$C(B $B$F$$$k%W%m%0%i%`$G$O!"=q$-9~$_(BOK$B$N;~$K(Bwritefds$B$,%;%C%H$5$l!"(B $BFI$_9~$`%G!<%?$,B8:_$9$k;~$O(Breadfds$B$,%;%C%H$5$l$^$9!#(B

$BCm0UE@$H$7$F!"(BWin9x $B$K$OHs%V%m%C%/7?%=%1%C%H$r%V%m%C%/$9$k$H!"(B select() $B$,<:GT$9$k$3$H$,$"$k$H$$$&(B $B%P%0(B$B$,$"$k!"$H$$$&E@$,$"$j$^$9!#$"$k%=%1%C%H$,MxMQ2DG=$G$"$k(B $B$HDLCN$5$l$k$H!"$=$l$K$h$C$F%W%m%0%i%`$,(B recv() $B$+(B send() $B$+2?$+$r8F$S=P$=$&$H$9$k$G$7$g$&!#$9$k$H6C$$(B $B$?$3$H$K!"$=$N4X?t$,(B WSAEWOULDBLOCK $B$rJV$7$F$/$k$N(B $B$G$9!#$G$9$N$G!"(BWin9x $B>e$G$O(Bselect() $B$r;H$C$?%W%m%0(B $B%i%`$O!"$3$N%(%i!<$r>o$K07$&$3$H$,$G$-$k$h$&$K$J$C$F$$$J$1$l$P$J(B $B$j$^$;$s!#(B

$B$3$NLdBj$O$h$j9-HO0O$K4X78$7$F$-$^$9(B: $BHs%V%m%C%/7?%=%1%C%H$N(B $BN`$r;HMQ$9$k$H$-$O>o$K$$$D$G$b!"(BWSAEWOULDBLOCK $B$KBP(B $B$9$k=`Hw$r$7$F$*$+$J$/$F$O$J$i$J$$$H$$$&$3$H$G$9!#$3$l$OC1$K!"(B NULL $B%]%$%s%?%A%'%C%/$r$9$k$3$H$HF1MM$J!"KI1RE*%W%m%0%i%_%s%0$N(B $BLdBj$G$9!#(B

2.9 - $B%M%C%H%o!<%/$N@_Dj$J$7$G(B Winsock $B%"%W%j%1!<%7%g%s$N%F%9%H$r$9$k$3$H$,$G$-$^$9$+(B?

$B%k!<%W%P%C%/(B$B$b$7$/$O(Blocalhost$B$H8F$P$l$kFCJL$J%"(B $B%I%l%9(B 127.0.0.1 $B$H$$$&$b$N$,B8:_$7$^$9!#$3$l$r;H$C$F0l$D$N%^%7(B $B%s>e$G$BNc(B$B$N%;%/%7%g%s$r;2>H$7$F2<$5$$!#(B)

$B$b$73+H/MQ$N%^%7%s$,%$%s%?!<%M%C%H$"$k$$$O(B LAN $B$K@\B3$5$l$F$$(B $B$k$N$G$"$l$P!"%k!<%W%P%C%/%"%I%l%9$O4{$K@_Dj$5$l$F$$$^$9!#(B

$B%M%C%H%o!<%/@\B3$r;}$C$F$$$J$$%^%7%s>e$G$O!"!V%@%_! $B%M%C%H%o!<%/$N%3%s%H%m!<%k%Q%M%k$+$i$3$l$rDI2C$9$k$@$1$G!"%k!<%W(B $B%P%C%/%"%I%l%9$,MxMQ2DG=$K$J$j$^$9!#(B

Windows 9x $B$G$O!";H$C$F$$$J$$%7%j%"%k%]!<%H$K8~$1$F%@%$%"%k%"%C(B $B%W@\B3$r%$%s%9%H!<%k$9$k$H$$$&J}K!$,$"$j$^$9!#$3$l$G2?$H$+F0$/$N(B $B$G$9$,!"$3$NJ}K!$G$O$H$-$?$^JQ$J?6Iq$$$r5/$3$9$3$H$,$"$j$^$9!#0l(B $BHV$NLdBj$O!"%@%$%"%k%"%C%W@\B3$,%b%G%`$+$i%@%$%"%k$9$kI,MW$,$"$k(B $B$HH=CG$7$F$b!"@_Dj$7$?%]!<%H$K$O%b%G%`$O7R$,$C$F$$$J$$$H$$$&$3$H(B $B$G$9!#$3$NLdBj$N1F6A$rHr$1$k$K$O!"(Bgethostbyname()$B$N(B $B$h$&$JL>A02r7h4X?t$O;HMQ$;$:!"%@%$%"%k%"%C%W@\B3$N!V<+F0%@%$%"%k!W(B $B5!G=$r%*%U$K$7$F$*$/$3$H$G$9!#(B

$BCm0U(B: $B%k!<%W%P%C%/%$%s%?!<%U%'!<%9$rDL$7$?>l9g$N?6Iq$$$H!"%M%C(B $B%H%o!<%/$rDL$7$?>l9g$N?6Iq$$$,$A$g$C$H0[$J$k>l9g$,$"$j$^$9!#(BLAN $B$d(B WAN $B1[$7$h$j$b!"C10l$N%^%7%s>e$G$NJ}$,$$$m$s$J>u67$,C1=c$@$+(B $B$i$G$9!#4pK\E*$K$O0lBf$N%^%7%s>e$G$7$+3+H/$r$7$F$$$J$/$F$b!"

2.10 - TCP $B%=%1%C%H$r@5$7$/(B close $B$9$k$K$O$I$&$9$l$PNI$$$N$G$9$+(B?

TCP$B%3%M%/%7%g%s$r(B close $B$9$k@5$7$$

  1. $B%G!<%?Aw?.$r40N;$9$k!#(B
  2. shutdown()$B$r(Bhow$B%Q%i%a!<%?$r(B 1 $B$K@_Dj$7$F(B $B8F$S=P$9!#(B
  3. recv()$B$,(B 0 $B$rJV5Q$9$k$^$G%k!<%W$9$k!#(B
  4. closesocket()$B$r8F$S=P$9!#(B

$B>e5-$N$&$A0lHVL\$H;0HVL\$N%9%F%C%W$r>JN,$9$k$H!"%G!<%?$rAS<:(B $B$7$F$7$^$&$3$H$,$"$j$^$9!#(B

$BHs%V%m%C%/7?%=%1%C%H$"$k$$$OHsF14|7?%=%1%C%H$G$O!"0lHVL\$H;0(B $BHVL\$N%9%F%C%W$,J#;($K$J$j$^$9!#!VAw?.!&o$N(B I/O $B%k!<%W$NCf$G9T$&J}K!$+!"$b$7$/$O(B I/O $B$N:G8e$NItJ,$G%=%1%C(B $B%H$r0l;~E*$K%V%m%C%/%b!<%I$K$7$F=hM}$r9T$&J}K!$,$"$j$^$9!#$I$A$i(B $B$,NI$$$+$O$=$N%W%m%0%i%`$N9=B$$d@)8B;v9`$K0MB8$7$^$9!#(B

2.11 - $B%3%M%/%7%g%s$r!V0[>o=*N;!W$5$;$k$3$H$O$G$-$^$9$+(B?

$B$O$$!"$G$-$^$9!#$=$l$O$H$F$bclosesocket()$B$r8F$S=P$9A0$K!"(B setsockopt()$B$G(B SO_LINGER $B%U%i%0$r(B 0 $B$K(B $B@_Dj$9$kJ}K!$G$9!#$b$&0l$D$NJ}K!$O!"(Bshutdown() $B$r(B how$B%Q%i%a%?$r(B 2($B!VAPJ}8~!W(B)$B$K@_Dj$7$F8F$S=P$9J}K!$G(B $B$9!#$=$N8e$KB3$$$F(B closesocket()$B$r8F$S=P$9$3$H$K$J(B $B$j$^$9!#(B

$B!V$$$-$J$j%3%M%/%7%g%s$r@Z$k!W$N$O$4$/8B$i$l$?>lLL$G$7$+@5Ev(B $B$HG'$a$i$l$^$;$s!#$3$N%F%/%K%C%/$r;H$&$+$I$&$+$r@5$7$/7hDj$G$-$k(B $B$?$a$K$O!"(BTCP$B$NF0:n$K$D$$$FHs>o$K?<$$CN<1$r;}$C$F$$$k$3$H$,A0Ds(B $B$H$J$j$^$9!#0lHLE*$K8@$C$F!"%3%M%/%7%g%s$r$$$-$J$j@Z$kI,MW@-$,=P(B $B$F$/$k$N$O!"%W%m%0%i%`$N:n$j$,0-$$$+$i$G$9(B($B$"$J$?$N%W%m%0%i%`!"(B $B$"$k$$$ODL?.Aj

2.12 - TCP$B%3%M%/%7%g%s$,(B close $B$5$l$?$3$H$r$I$&$d$C$F8!=P$G$-$^$9$+(B?

I/O$B@oN,$N5-;v(B$B$G5DO@(B $B$5$l$F$$$kA4$F$N(B I/O $B@oN,$K$*$$$F!"2?$i$+$NJ}K!$G%3%M%/%7%g%s$,(B close $B$5$l$?$3$H$rCN$kJ}K!$,$"$j$^$9!#(B

$B$^$:!"(BTCP $B$OA4Fs=E$N%M%C%H%o!<%/%W%m%H%3%k$G$"$k$3$H$rK:$l$J(B $B$$$G$/$@$5$$!#$3$l$O$D$^$j!"%3%M%/%7%g%s$N0lJ}8~$r(B close $B$7$F$b!"(B $B$b$&0lJ}$NJ}8~$G$O$^$@%G!<%?$rAw?.$9$k$3$H$,$G$-$k$H$$$&$3$H$G$9!#(B $B0lNc$H$7$F%&%'%V%V%i%&%6$N>l9g(B: $B%&%'%V%V%i%&%6$OC;$$%j%/%(%9%H$r(B $B%&%'%V%5!<%P$KAw$j!"$=$N%3%M%/%7%g%s$NH>J,$r(B close $B$7$^$9!#$=$7(B $B$F%&%'%V%5!<%P$O$b$&0lJ}8~$N%3%M%/%7%g%s$r;H$C$FMW5a$5$l$?%G!<%?(B $B$rAw$jJV$7$^$9!#$=$N%G!<%?$rAw?.$7$?B&$,%3%M%/%7%g%s$r(B close $B$7(B $B$F!"(BTCP $B%;%C%7%g%s$r=*N;$5$;$^$9!#(B

$BDL>o$N(B TCP $B%W%m%0%i%`$OAw?.B&H>J,$N$_!"$9$J$o$ADL?.AjJ,$N$_$r(B close $B$7$^$9!#$D$^$jIaDL$"$J$?$,CN$j$?$$$H(B $B;W$&$N$O!"DL?.Aje%G!<%?$r

$BHsF14|7?$N%=%1%C%H$G$O!"(BWinsock $B$O%3%M%/%7%g%s$,@Z$l$?$H$-$K(B $B$O(B FD_CLOSE$B%a%C%;!<%8$rAw$j$^$9!#%$%Y%s%H%*%V%8%'%/(B $B%H$K$*$$$F$bF1MM$G$9(B: $B%7%9%F%`$O(BFD_CLOSE$B$N%$%Y%s%H(B $B%*%V%8%'%/%H$rDLCN$7$^$9!#(B

$B%V%m%C%/7?!"$*$h$SHs%V%m%C%/7?%=%1%C%H$G$O!"$=$N%=%1%C%H$KBP(B $B$7$F(B recv()$B$r8F$S=P$9%k!<%W$,$"$k$H;W$$$^$9!#DL?.Aj(B $Brecv() $B$O(B 0 $B$rJV5Q$7$^$9!#(B select()$B$r;H$C$F$$$k>l9g$K$O!"$b$&$*H=$j$+$b$7$l$^(B $B$;$s$,!"(Bread_fds $B%Q%i%a%?Cf$NBP1~$9$k(B SOCKET $B$N%G%#(B $B%9%/%j%W%?$,!"%3%M%/%7%g%s$,@Z$l$?$H$-$K%;%C%H$5$l$^$9!#$=$7$FDL(B $B>o$N>l9g$HF1$8$h$&$K(B recv()$B$r8F$S=P$9$H!"$=$NJV5QCM(B $B$H$7$F(B 0 $B$,JV$5$l$k$3$H$K$J$j$^$9!#(B

$B>e5-$N5DO@$rFI$s$G$b$&H=$C$?$+$b$7$l$^$;$s$,!"%3%M%/%7%g%s$N(B $B$BH>J,$r(B close $B$9$k$3$H$b2DG=$G$9!#$b$7(B close $B$7$?8e(B $B$KDL?.Ajl9g$K$O!"%W%m%H(B $B%3%k%9%?%C%/$O$=$N%G!<%?$r$I$C$+$K

$B0[>o@ZCG$N07$$$K$D$$$F$N>pJs$O(B$B$B$r;2>H$7$F2<$5$$!#(B

2.13 - $B%M%C%H%o!<%/$N0[>o@ZCG$O$I$N$h$&$K$7$F8!=P$G$-$^$9$+(B?

$B0l$DA0$N$B$G$O@\B3$,@5>o$K@ZCG$5(B $B$l$?$H$-$N8!=PJ}K!$r07$$$^$7$?$,!"$b$7$=$NB>$NLdBj!"Nc$($P%M%C%H(B $B%o!<%/%1!<%V%k$rH4$$$F$7$^$C$?$j%o!<%/%9%F!<%7%g%s$,%/%i%C%7%e$7(B $B$?$H$-$N$h$&$JLdBj$r8!=P$7$?$$$H$-$O$I$&$9$l$P$h$$$N$G$7$g$&$+(B? $B$3$l$i$N>l9g$K$O!"DL?.Aj$9$3$H$b$G$-$k$N$K!"$J$s$G(B $B$$$A$$$AA4It:F5/F0$7D>$5$J$/$A$c$$$1$J$$$N(B?

$B$b$7!"$"$J$?$,$$$+$J$k%M%C%H%o!<%/$N8N>c$G$b8!=P$7$J$1$l$P$J(B $B$i$J$$>u67$K4Y$C$F$7$^$C$?$N$G$"$l$P!"Fs$D$NA*Br;h$,$"$j$^$9(B:

$B0l$DL\$NA*Br;h$O!"%W%m%H%3%k$K!V%3%^%s%I(B/$B1~Ez!W$N9=B$$r;}$?$;(B $B$k$3$H$G$9!#0lJ}$N%[%9%H$,%3%^%s%I$rAw$j!"$=$7$F$b$&0lJ}$N%[%9%H(B $B$+$i%3%^%s%I$N/$J$/$H$b2?(B $B$+LdBj$,$"$k$H8@$&$3$H$,$G$-$^$9!#(B

$BFs$DL\$NA*Br;h$O!"%W%m%H%3%k$K(B "echo" $B5!G=$rDI2C$9$k$3$H$G$9!#(B $B$3$l$O0lJ}$N%[%9%H(B($BDL>o%/%i%$%"%s%HB&(B)$B$,0lDj;~4V$4$H$K!V$M$(!"$^(B $B$@5o$k(B?$B!W$H$$$&%Q%1%C%H$rB>J}$KAw?.$9$k$3$H$K$7$F$*$-!"$=$N3NG'(B $B$rB(:B$K9T$&$H$$$&$3$H$G$9!#$b$7(B echo $B$rAw$kB&$N%[%9%H$,1~Ez$rDj$9$k$3$H$,$G$-$^$9!#(B

$B$b$7(B "echo" $B$NJ}$rA*$s$@>l9g$O!"(BICMP "ping" $B5!G=$r;H$$$?$$$H(B $B$$$&M6OG$KIi$1$F$O$$$1$^$;$s!#$b$7;H$*$&$H$9$k$J$i$P!"N>B&$+$i$*(B $B8_$$$K(B ping $B$9$kI,MW$,$"$j$^$9!#$J$<$J$i!"(BMicrosoft $B$N%9%?%C%/$G(B $B$O!"Aj$NLdBj(B $B$H$7$F$O!"(Bping $B$O$"$J$?$N%W%m%H%3%k$N30B&$N$b$N$G$"$k$H$$$&$3$H(B $B$G$9!#$D$^$j%O!<%I%&%'%"E*$J%3%M%/%7%g%s$,@8$-$F$$$l$P!"(BTCP $B%3%M(B $B%/%7%g%s$,@Z$l$F$b$=$l$r8!=P$9$k$3$H$,$G$-$J$$$N$G$9!#:G8e$K(B ping $B%F%/%K%C%/$NLdBj$H$7$F$O!"(BICMP $B$O?.Mj@-$N$J$$%W%m%H%3%k$G$"(B $B$k$H$$$&E@$,$"$2$i$l$^$9!#$"$k%W%m%H%3%k$N?.Mj@-$rJ]>Z$9$k$?$a$K!"(B $B?.Mj@-$N$J$$%W%m%H%3%k$r;H$&$J$s$F!"0lBNA4BN2?$N0UL#$,$"$k$C$F$s(B $B$@$$(B?

$BJL$NA*Br;h$H$7$F$O!"$"$^$j5$$K$9$k$3$H$O$"$j$^$;$s$,(B TCP keepalive $B5!9=$H$$$&$b$N$,$"$j$^$9!#$3$l$Ol9g$O!"$3$A$iB&$N(B $B%[%9%H$N(B TCP $B%9%?%C%/$OAj

keepalive $B$K$OFs$D$NLdBj$,$"$j$^$9(B:

  1. keepalive $B$N;~4V$r%W%m%;%9C10L$GJQ99$G$-$k$N$O(B Windows 2000 $B$N$_$G$9!#$=$l$h$j8E$$(B Windows $B$K$*$$$F$O!"(Bkeepalive $B;~4V$rJQ99(B $B$9$k$H!"$=$N%^%7%s>e$G(B keepalive $B$r;H$C$F$$$kA4$F$N%"%W%j%1!<%7%g(B $B%s$N;~4V$,JQ99$5$l$F$7$^$$$^$9!#(B(keepalive $B;~4V$N%G%U%)%k%H$O(B 2 $B;~4V(B $B$J$N$G!"(Bkeepalive $B;~4V$NJQ99$O$[$H$s$I$N>l9gI,?\$G$9!#(B)
  2. $B0l$D$N(B keepalive $B%Q%1%C%H$O(B 40 bytes $BDxEY$NBg$7$FLr$KN)$?$J(B $B$$%G!<%?$G!"%3%M%/%7%g%s$,M-8z$G$"$k8B$j!"APJ}8~$KAw$i$l$^$9!#$3(B $B$l$KBP$7$F!V%3%^%s%I(B/$B1~Ez!W7?$N%W%m%H%3%k$O!"e5-$N!V$M$(!"$^$@5o$k(B?$B!WJ}<0$h$j$OL5BL$O>/$J$$$G$9!#(B

$B$J$*!"%M%C%H%o!<%/$Nl9g!"Ajl9g$O!"%j%s%/%l%$%d$G@Z(B $B$l$F$7$^$C$?$3$H$r8!=P$9$k$3$H$,$G$-!"$3$l$O(B Winsock $B%l%$%d$KEA(B $B$o$k$N$G!"%W%m%0%i%`$+$i8!=P$9$k$3$H$,$G$-$k$N$G$9!#(B

2.14 - Winsock $B4X?t$N%?%$%`%"%&%H$rJQ99$9$k$K$O$I$&$9$k$N$G$9$+(B?

$B%V%m%C%/7?$N(B Winsock $B4X?t(B($BNc$($P(B connect())$B$N$$(B $B$/$D$+$O!"%?%$%`%"%&%H;~4V$OCf$KKd$a9~$^$l$F$$$^$9!#$3$&$J$C$F$$(B $B$kM}M3$NGX7J$K$O!"@5$7$$%?%$%`%"%&%H;~4V$r@_Dj$9$k$?$a$KI,MW$J>p(B $BJs$rA4$F;}$C$F$$$k$N$O%W%m%H%3%k%9%?%C%/$@$1$G$"$k$+$i!"$H$$$&$3(B $B$H$,$"$j$^$9!#$=$l$G$b$J$*!"%W%m%H%3%k%9%?%C%/$,;H$&CM(B($B0lJ,0L$N(B $B$3$H$b$"$l$P$=$l0J>e$N$3$H$b$"$k(B)$B$O<+J,$N%"%W%j%1!<%7%g%s$K$H$C(B $B$F$OD9$9$.$k$H;W$&?M$?$A$b$$$^$9!#(B

Winsock 2 $B$K$*$$$F$O!"(Bsetsockopt()$B$K$*$$$F(B SO_SNDTIMEO $B$^$?$O(B SO_RCVTIMEO $B%*%W%7%g(B $B%s$r@_Dj$9$k$3$H$G!"(Bsend() $B$H(B recv() $B$N%?%$%`%"%&%H$rJQ99$9$k$3$H$,$G$-$^$9!#(B

$B;DG0$J$,$i!"(BWinsock $B$N;EMM$G$O$=$NB>B?$/$N%?%$%`%"%&%HCM$rJQ(B $B99$9$kJ}K!$O5-=R$5$l$F$$$^$;$s!#$^$?>e5-$NJ}K!$O(B Winsock 1.1 $B$G(B $B$O;HMQ$G$-$^$;$s!#(B

$B$3$l$N2r7hJ}K!$O!"%V%m%C%/7?%=%1%C%H$NMxMQ$r40A4$K;_$a$k$3$H(B $B$G$9!#Hs%V%m%C%/7?%=%1%C%H$N4X?t$OA4$F!"%?%$%`%"%&%H$r9T$&$3$H$,(B $B$G$-$k$h$&$K$G$-$F$$$^$9!#(B

  • select() $B$r;H$C$?Hs%V%m%C%/7?%=%1%C%H(B - select()$B4X?t$N(B5$BHVL\$N%Q%i%a!<%?$O%?%$%`%"%&%HCM$G$9!#(B
  • $BHsF14|7?%=%1%C%H(B - Windows API $B$N(B SetTimer() $B$r;H$C$F$/$@$5$$!#(B
  • $B%$%Y%s%H%*%V%8%'%/%H(B - WSAWaitForMultipleEvents()$B$K$O%?%$%`%"%&%H$N0z?t$,(B $B$"$j$^$9!#(B
  • $BBT$A - Windows 98 $B$+(B NT 4.0 SP3 $B0J9_$G$N$_!#BT$ACreateWaitableTimers() $B$G:n@.$9$k$3$H$,$G$-$^$9!#$3(B $B$l$r;H$C$F!"(B5$BIC$N%?%$%^!<$r%$%Y%s%H%*%V%8%'%/%H$HF1$8$h$&$KBT(B $B$D$3$H$,$G$-$^$9!#$b$7(B5$BICFb$K%=%1%C%H$KBP$7$F2?$b5/$3$i$J$1$l$P(B Windows $B$O%?%$%^!<$K%7%0%J%k$rH/@8$5$;!"$3$l$K$h$j(B WaitForMultipleObjects() $B8F=P$7$,CfCG$5$l$^$9!#(B

$BHsF14|7?$*$h$SHs%V%m%C%/7?%=%1%C%H$G$O!"%?%$%`%"%&%H$N=hM}$r(B $BA4$/9T$o$J$$$3$H$b$G$-$^$9!#(BWinsock $B$,%S%8!<$G$"$k4V$:$C$H<+J,$N(B $B%W%m%0%i%`$rF0:n$5$;$F$*$/$3$H$5$($G$-$^$9!#$7$?$,$C$F!"$"$kA`:n(B $B$N;~4V$,$+$+$j$9$.$F$$$k$H$-$N%-%c%s%;%k$r%f!<%6$KG$$;$k$3$H$b!"(B Winsock $B$N%?%$%`%"%&%H$N5!G=$rFH<+$KCV$-49$($?$j$;$:!"C1$K(B Winsock $B$K%?%$%`%"%&%H$5$;$k$3$H$b2DG=$G$9!#(B

2.15 - $B%T!<%/(B(MSG_PEEK)$B$H$O2?

$B%T!<%/$O(B TCP $B%G!<%?%9%H%j!<%`$N@hF,$r@hFI$_$9$k$3$H$G$9!#(B recv() $B$K(BMSG_PEEK $B%U%i%0$r;HMQ$7$?$H$-$O!"%W%m%H%3(B $B%k%9%?%C%/Cf$N%P%C%U%!$+$i!"%P%C%U%!$N%G!<%?$r:o=|$9$k$3$H$J$7$K!"(B $B$=$N%G!<%?$rJV5Q$7$^$9!#(B($BF1$8$3$H$r(B ioctlsocket() $B$N(B FIONREAD $B%*%W%7%g%s$G$b9T$&$3$H$,$G$-$^$9!#(B)

$B%T!<%/$OK\Mh$OA4$/ITI,MW$J$b$N$G$9!#FI$_=P$7$?%G!<%?$r>o$K<+(B $BJ,$N%P%C%U%!$KF~$l$F!"$=$NCf$G=hM}$r$9$l$P$h$$$+$i$G$9!#$B%6!&4V0c$$%j%9%H(B $B$K0L(B $BCV$r@j$a$?$j!"(BMicrosoft's Knowledge Base $B$K:\$C$?$j$9$k$o$1$G$9!#(B $B%T!<%/$,(B Winsock $B%9%?%C%/$K$*$$$F$I$N$h$&$JLdBj$,$"$k$N$+!"FCDj(B $B$N>pJs$K$D$$$F$O(B Q192599 $B$N5-;v$r;2>H$7$F2<$5$$!#(B

2.16 - $BBS0h30%G!<%?(B(MSG_OOB)$B$H$O2?

$BBS0h30(B(Out-of-band, OOB)$B%G!<%?$O!"FsHVL\$N%G!<%?%A%c%s%M%k$N(B $B$h$&$J$b$N$G$9!#DL>o$N(BTCP$B%G!<%?%9%H%j!<%`$K$[$H$s$I$N%G!<%?$rN.(B $B$7!"(BOOB $B%9%H%j!<%`$K$O!V6[5^!W$N%a%C%;!<%8$rN.$9!"$H$$$&$N$,$=$N(B $BL\E*$G$9!#(Btelnet $B%W%m%H%3%k$K$*$$$F$O$3$l$r(B Ctrl-C $B$N$h$&$J!V3d(B $B$j9~$_!WA`:n$N$?$a$K;H$C$F$$$^$9!#$3$l$K$h$C$F!"3d$j9~$_$rH/@8$5(B $B$;$k$N$K!"Ajo$N(BTCP $B%G!<%?$NA`:n$rA4$F40N;$9$k$N$rBT$DI,(B $BMW$,$J$/$J$j$^$9!#(BOOB $B%G!<%?$O(B send() $B$K(B MSG_OOB $B%U(B $B%i%0$rEO$9$3$H$GAw?.$9$k$3$H$,$G$-!"$^$?(B recv() $B$K(B MSG_OOB $B$rEO$9$3$H$Gsetsockopt() $B$K(B SO_OOBINLINE $B%U%i%0$r@_Dj$9$k$3$H$K(B $B$h$C$F(B OOB $B%G!<%?$rF@$k$3$H$b$G$-$^$9!#(B

OOB $B%G!<%?$OM-MQ$J35G0$G$O$"$k$N$G$9$,!";DG0$J$3$H$K!"%W%m%H(B $B%3%k%9%?%C%/%l%Y%k$K$*$$$F$I$N$h$&$K(B OOB $B%G!<%?$,07$o$l$k$Y$-$+!"(B $BFs$D$NL7=b$9$k2rRFC 793)$B$K$*$1$k(B OOB $B$N(B $B85!9$N5-=R$O!"!V%[%9%HMW7o!W;EMM(B(RFC 1122)$B$K$h$C$FCV$-49(B $B$($i$l$F$$$^$9$,!"(BRFC 793 $B$N(B OOB $B\:Y$O(B section 3.5.2 $B$G5DO@$5$l$F$$(B $B$^$9!#(B

$B$^$?!"(BOOB $B$O!"FsHVL\$N%G!<%?%A%c%s%M%k$H$7$F40A4$K5!G=$9$k$o(B $B$1$G$b$"$j$^$;$s!#$+$J$j@)8B$5$l$F$$$^$9!#$G$9$+$i!"(BOOB $B$O!"(B telnet $B$N$h$&$K$3$l$rI,MW$H$7$F$$$k%l%,%7!<$J%W%m%H%3%k$ro$N%G!<%?MQ$K!"FsHVL\$r6[5^MQ$N%G!<%?$K!#(B

2.17 - MSG_PEEK $B$b(B MSG_OOB $B$b0-

send() $B$d(B recv() $B$N%U%i%0$N0z?t$K$O(B 0 $B$rEO$;$PA4$/LdBj$"$j$^$;$s!#(B


<< Winsock $B$N0lHLE*$J>pJs(B Winsock $BCf5i
Last modified: $Id: newbie.html,v 1.5 2002/11/09 20:40:30 ksk Exp $ Go to the original FAQ page
< Go to the main FAQ page << Go to the Home Page