|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
8 Y6 u9 R* ~: A1 S7 f# x' F0 N* ^- void creadHost(){+ g$ D+ T- l1 V6 k, A
- WSADATA wsaData;) D: v' p! t$ x, t |% @6 a4 X8 H9 m
- + V% n4 n3 Y( }- ^9 d( R; X0 o
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){
Q1 X0 k4 q. `3 i. [ - MessageBeep(MB_ICONSTOP);
! G7 ^3 e- r1 K+ v9 Y* t0 q0 ~ - printf("Winsock could not be initialized!\\n");; U6 a+ s" h, l' Q2 p( B
- WSACleanup();9 g# b/ r F% R7 o$ k6 }' m, Y1 D
- return;
: u4 B- a5 r8 ^- o - }
K3 I- A4 H, w8 F+ Z5 [ - if(m_hSocket!=NULL){
& u5 h: C& h. [: l9 k - closesocket(m_hSocket);
. I S% q) X% s/ _$ l" P - m_hSocket=NULL;% f5 U, u1 b, p( q- T! ^4 V
- }6 x) I' v M# n q z' P5 p
- if(m_hSocket==NULL){
' ?- Y5 q$ P4 x% F$ A7 F6 D0 [: _# J& I - m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
+ }' P# x' n/ X6 R' z6 H# U" I* x - }, E/ w* H6 p, }9 p5 V0 @
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
$ B2 q3 k4 Z$ s9 J7 V - m_addr.sin_family=AF_INET;. |! k' F1 ~. Z3 m+ t" k6 `* _
- m_addr.sin_port=htons(5000);$ H, t( P# q* z6 c: y' f- q0 \
- % m: N, V/ ?9 l* o' c/ m
- int ret=0;
7 A1 M; M) M8 l v) X3 ]5 m" I - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));3 P1 v/ p8 z+ v" f8 |' C7 I
- if(ret==SOCKET_ERROR){
3 z: Y1 @, x4 ~, ? - closesocket(m_hSocket);6 l( d; ]3 F2 K9 p) B" t
- printf("Bind Error.\\n");
/ A8 r! S& u4 J3 t* E1 p - return ;
7 K" M/ ^4 u& V6 F- b6 O3 p - }
5 w9 U0 j/ L7 n2 R. ?& y - WSACleanup();) j8 {; ?" u( t/ `7 `( P4 Z
- }
复制代码 |
|