|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
" H! J( v5 p( B3 \- void creadHost(){
2 T% U/ }( t* a: f; h6 ^ - WSADATA wsaData;$ Z V' e. C) q3 q; R4 m
- 0 I, L( q' l' t; X
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){
: K% }5 \( X# }; o k9 u( l - MessageBeep(MB_ICONSTOP);
! v/ n6 Y8 v" E - printf("Winsock could not be initialized!\\n");
+ [( h5 r3 u7 @+ c- I - WSACleanup();
+ w4 N) n$ [& m+ H - return;& I+ X5 b* a8 v6 \( u
- }
. K% j" \6 ~- g) p8 d - if(m_hSocket!=NULL){
- J8 `# `- L/ q0 a5 P( ?* U0 | - closesocket(m_hSocket);
, j) ~- ^4 \" [# i" _ N. L - m_hSocket=NULL;
6 c8 S, q( @( q0 _ - }
+ V5 B% w0 T: w2 y- L - if(m_hSocket==NULL){
- y* I6 W' Z# |" s' p$ j( H- M" { - m_hSocket=socket(AF_INET,SOCK_STREAM, 0); - a6 `# Q- Y* x+ P
- }
, h" y5 z/ w( M7 T1 b - m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
% F# E4 U# {6 b) M - m_addr.sin_family=AF_INET;
/ \2 \- }" o6 @6 j - m_addr.sin_port=htons(5000);
9 [. G8 D/ D1 Y+ e+ S) G% j - & I4 D; I5 d E! }2 J# V8 t
- int ret=0;- m$ r) a% ]; y; O
- ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));+ {! r# o6 K: c* E9 ^
- if(ret==SOCKET_ERROR){/ F- k2 s7 O$ _% i7 U6 v
- closesocket(m_hSocket);3 n6 r% @; D8 P
- printf("Bind Error.\\n");
- ~3 A3 u7 L( \* a! w+ G8 Q - return ;
9 c; R: y. g0 {7 Q. L* h - }
. U, f1 m6 V8 ]: n: _1 K - WSACleanup();
7 T" i; i0 p- L( E5 R - }
复制代码 |
|