|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
7 g0 p o& M6 e$ |$ ^- void creadHost(){
0 z9 J2 u; y7 w- U) T - WSADATA wsaData;
! ?& ?0 C! s2 U2 M' A+ y - 7 B( s6 p& Y* H; H$ Y4 a7 p
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){
, R" V2 x) S3 K: E6 ?3 K - MessageBeep(MB_ICONSTOP);" Z; d' H0 Q# j+ z2 r, V
- printf("Winsock could not be initialized!\\n");
: f1 L+ A W7 a* d# s' l& n2 B2 N7 n - WSACleanup();" f: R! S5 w, }6 h2 p
- return;, R/ w0 a. g7 W
- }
+ e i( ]: V( t, ] - if(m_hSocket!=NULL){
B$ N1 M9 e1 C+ ~ - closesocket(m_hSocket);6 u* S$ e4 X/ x5 \) W% \8 b
- m_hSocket=NULL;
/ Y2 }4 D. E9 _# T% j# m - }
+ ~5 Y7 k; M/ [- [) z" ?8 n - if(m_hSocket==NULL){& U7 h: ^6 S* H9 |8 l3 S- B, Y% Q$ s
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
# G3 N+ x4 U8 S: `3 H! o, R9 T7 [ - }; y8 u+ f4 R |
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY;4 f! K2 r* J" J" R7 V
- m_addr.sin_family=AF_INET;# |& j. N. M9 ?: y
- m_addr.sin_port=htons(5000);. H/ a1 G, |& R, w* [
5 P3 O$ I0 K0 w9 @9 n- int ret=0;( ~# Y- b, @# g& b
- ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));: w% A! Z& u* N |; R& ~
- if(ret==SOCKET_ERROR){0 A+ N) x4 s6 {9 H
- closesocket(m_hSocket);6 G7 F" u2 N* o; t+ o( z
- printf("Bind Error.\\n");, J, a1 G+ }# ?. R0 Y' O
- return ;
: \2 c6 R! o% k, d- N9 \) A+ k - }
; g0 t. K' z+ f7 B' f: O - WSACleanup();! S* }/ c8 P x1 G! q. U
- }
复制代码 |
|