|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
! V& B. m/ O/ p2 m- void creadHost(){
$ N4 U& E1 M+ Z) ` - WSADATA wsaData;
0 W# U7 z3 m( v% p1 K - 4 j5 g+ ~& I( u$ T- x8 s& l1 P8 _
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){+ F3 A ?. ~6 n3 g! j; h/ M, s
- MessageBeep(MB_ICONSTOP);
( d9 S' ? @! z - printf("Winsock could not be initialized!\\n");4 h M, i7 C6 W* L7 I
- WSACleanup();
! M% P( D4 e2 y& s% w% P. ^ - return;
6 e" M+ B2 T. @+ `- T, R% ~ - }3 J- c/ r1 w( v( o+ w% W, b. m- v
- if(m_hSocket!=NULL){
8 m$ w/ {" ^2 h4 W: e( ?* T, H - closesocket(m_hSocket);
4 |1 u3 E6 C+ ~$ R - m_hSocket=NULL;: @6 q* N: q+ ]& I8 O; v' p
- }
4 {5 H& F" u# E2 E( L3 j7 f - if(m_hSocket==NULL){
0 L/ J' g% Z6 T - m_hSocket=socket(AF_INET,SOCK_STREAM, 0); w H8 r: A0 X( b/ N
- }5 h& s- Q* m' o6 M
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY;0 [; M) W" c) ~" C6 m9 q" Y
- m_addr.sin_family=AF_INET;
* n* ?( I/ N, T4 r% J# t; {( ?- ? - m_addr.sin_port=htons(5000);
2 S' n% I; G. f9 |7 r) l! J% L) n, C - ) L( @) t0 K/ `
- int ret=0;
' C1 i; o! }% X: Y q - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));8 k) e) J% E% b3 H/ T/ o
- if(ret==SOCKET_ERROR){$ `* S6 X" ^# L% G
- closesocket(m_hSocket);+ l- q! g; P7 I- P. s9 u
- printf("Bind Error.\\n");
9 \. [- \8 n' d0 w1 J9 V - return ;
& b4 L O% s' z9 [! C - }+ c3 Q/ ]1 n9 b
- WSACleanup();
' j2 X6 h0 _- u6 R - }
复制代码 |
|