|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
, A1 W: A. Y9 [3 c( C6 e- void creadHost(){
r( F G. t5 j: i" @% ` - WSADATA wsaData;
6 b+ x7 a. o8 ~ -
% U0 T* B5 E* @ - if(WSAStartup(WINSOCK_VERSION,&wsaData)){
9 k+ @7 P* h+ H6 Y8 M" ]: k( V' r, `: @ - MessageBeep(MB_ICONSTOP); Z" _8 t9 @9 t1 t+ B
- printf("Winsock could not be initialized!\\n");; {9 k {* \, K. t. q
- WSACleanup();) F: G1 H% a |; q4 X: ]5 `+ Y
- return;+ a& x# z% I9 e9 ]
- }
7 ?1 p4 D# _. E7 S9 M8 X) R7 f* k - if(m_hSocket!=NULL){+ \5 P: E3 P! k" @0 p2 B% q
- closesocket(m_hSocket);( P) A4 N; K; ]
- m_hSocket=NULL;
% F* a- F" K+ {. T b( A. J - } H) M( p5 K. g4 N/ Y
- if(m_hSocket==NULL){4 G) r0 F1 f5 _5 l y5 H* O
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
* \; D- Y5 {1 z - }1 E4 i1 \) o4 I2 Y- a
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
: b7 U4 k1 J" k( e1 \* u, X - m_addr.sin_family=AF_INET;
" a! {5 ~4 H: b2 U. I0 Y* r$ d - m_addr.sin_port=htons(5000);* I9 _0 H! \' d* q
; G) b# _# h# y0 e- int ret=0;
5 R! V3 h2 B3 n( ~% l* ^# G1 { - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));" j# h3 V0 f0 {) H, p% a% S7 q$ w
- if(ret==SOCKET_ERROR){
/ L4 s8 O2 }1 X: r4 _3 w( a3 M - closesocket(m_hSocket);) P! ?0 d3 S- Y6 P* R
- printf("Bind Error.\\n");
7 f$ I) f. X2 J - return ;9 a( D7 j% z/ y
- }
' ~/ e% D- f0 ]$ q$ v" s6 ~ - WSACleanup();1 L+ M7 H. X% u9 a4 p' [( d
- }
复制代码 |
|