|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
& q8 }' X; ]. ]! {# {5 m- h- void creadHost(){- e' t4 @: o# L. N9 \. Q- Y
- WSADATA wsaData;
6 o& `: B: H t0 v4 f+ q -
& J, C' O; x, @5 ]1 _7 x! E0 ~ - if(WSAStartup(WINSOCK_VERSION,&wsaData)){0 |9 l, A& { j/ v: y
- MessageBeep(MB_ICONSTOP);; C) O: f8 |! x0 w1 F/ S2 u$ \) A
- printf("Winsock could not be initialized!\\n");( f9 P/ D E* I$ t) g! C! I
- WSACleanup();
) Z0 G, l Q! [* w* W3 Q8 p! _ - return;
5 H& M+ g1 y. i( Z* l7 y - }
8 d0 J/ x( |" o; n m0 r% Z - if(m_hSocket!=NULL){- _7 _8 t/ D; F+ p7 F/ e: \
- closesocket(m_hSocket);: }. `3 s7 @& A
- m_hSocket=NULL;4 f0 Q% m @4 \7 L
- }
4 K( n. j8 d0 k2 |" F7 U' S - if(m_hSocket==NULL){, A0 t6 C1 I) |" I7 \+ B
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
& k/ N4 q( x! ^5 F+ V+ P - }
8 C5 i) ^+ f% y* U3 ]. c$ x - m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
0 N! o8 L# w+ W: z# y; [ - m_addr.sin_family=AF_INET;
! {: t% g" j! M# l - m_addr.sin_port=htons(5000);% I4 N8 O" @4 e5 G4 C
- 2 v* Z9 ?% l! w, K2 }/ f
- int ret=0;
. W9 ~/ a9 j$ D5 F - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));
% h ^: k" i1 k# ~ - if(ret==SOCKET_ERROR){
9 \1 Q- m1 Q9 u0 B0 B: ~% s8 ~, G - closesocket(m_hSocket);
6 R" m( o# G8 k X - printf("Bind Error.\\n");+ B2 j4 M+ b/ x: M* w! N3 ^
- return ;
, E. l! B, @. D C - }! g+ y: o' F& l' T% F4 |
- WSACleanup();
) I! k3 ]& L4 ^3 z - }
复制代码 |
|