|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:! }' y! E8 Q% c: z) I
- void creadHost(){: r, q' Z c5 V% A
- WSADATA wsaData;" m8 I+ X5 h7 S6 A( G ]/ ?
- ; f4 y2 S% ~7 V
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){* f, K ]; q/ c
- MessageBeep(MB_ICONSTOP);
6 V% ~2 V* F! Y- @" d/ H1 g - printf("Winsock could not be initialized!\\n");
6 t8 y& D4 p/ c7 f, N/ H# v* v - WSACleanup();
" H z' D/ w- X4 c5 w8 l - return;
0 w5 D' x5 k+ }# q$ _ - }; s" b) C, w' C7 Y# p
- if(m_hSocket!=NULL){9 E# ^' t( H' T1 L2 S
- closesocket(m_hSocket);
; R$ [, F2 O: e" O - m_hSocket=NULL;1 L3 Y8 O5 D; _, Y6 X" @
- }
4 x- U6 ~4 z( {7 z3 e+ h - if(m_hSocket==NULL){
3 g' L. X8 u2 J# b4 @( e9 B0 d! P' Y - m_hSocket=socket(AF_INET,SOCK_STREAM, 0); 0 M3 m; ^) w; l0 G
- }
8 B5 t/ B2 d `. c) R" e - m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
3 t5 f8 d A0 I3 j! J - m_addr.sin_family=AF_INET;
8 ], t5 T7 R- W2 n1 h6 p; D - m_addr.sin_port=htons(5000);& j' ?6 k- U! ~, r. d# F! g8 ?! S
2 N6 o/ O M( E/ _* q- int ret=0;7 g2 v. W( H5 j
- ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));
. e4 X, x/ r$ E0 S& y9 {9 w - if(ret==SOCKET_ERROR){8 R& R, `* l: Y$ @
- closesocket(m_hSocket);
8 H( _7 O8 W6 R+ `9 b8 u - printf("Bind Error.\\n");
5 l8 Z5 @$ m& c7 }0 i$ y1 D - return ;
/ N p, Q T- D7 F! K1 j - }; d, k$ G9 o. ^: q: V, x
- WSACleanup();9 c" w4 S1 u- d. u
- }
复制代码 |
|