|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:+ z! f. Z& a$ P8 ^6 I# \- d
- void creadHost(){
# x: |" x C2 q- h# m6 R6 c - WSADATA wsaData;6 G0 a+ X/ p/ {2 [
-
) R" k7 j2 b- A+ v1 [ - if(WSAStartup(WINSOCK_VERSION,&wsaData)){
( p% N% J; h O! ` - MessageBeep(MB_ICONSTOP);$ @7 F, Q4 N6 k1 h; Y; a6 D, x
- printf("Winsock could not be initialized!\\n");3 P _* E1 X/ Y% ~1 ]
- WSACleanup();: t* ]: \+ Y# A+ S
- return;% q. I, P' |, u5 e
- }
" E' r1 q2 H1 H- |* v4 f4 `: ^ - if(m_hSocket!=NULL){& {0 n( A5 Q& R4 c7 W" z0 R: p& f$ C
- closesocket(m_hSocket); O- P* g/ s4 D5 m" J: X) x0 R
- m_hSocket=NULL;1 F- ~- d) w, E7 n$ v+ N( |
- }. `( S/ Y4 |, W0 ]
- if(m_hSocket==NULL){! I, r6 A# @) r" [0 E; P5 u
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0); 6 H; O* U6 f1 E" g
- } W0 m- j+ R3 _! q
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY; G& S2 i3 ?/ {% v* l$ x
- m_addr.sin_family=AF_INET;
8 f7 L7 q# j; X; V4 t5 V - m_addr.sin_port=htons(5000);
1 C# v2 l' W& J: ?& k3 f! G- j G
% h/ O: F, q3 s* l$ U- int ret=0;
! q5 m9 L# M; B8 Z9 f' ^6 {% L; p - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));
: J, [: f! q( ^) q0 X - if(ret==SOCKET_ERROR){. x- K, s( O; k) Q" S" ~
- closesocket(m_hSocket);
1 \! G$ A0 h; ^6 x - printf("Bind Error.\\n");& p( }" ^8 {. t+ @+ L( @
- return ;
' s! q0 E' w8 Q) S! t- S - }
z: U; Z, w7 I/ j% y" B5 P# l5 W - WSACleanup();
9 w' ~- b8 {) I0 U, l' u1 L - }
复制代码 |
|