|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
) W; c( m& U- _2 H) L: x- void creadHost(){' k( Z$ E6 R0 V0 e2 l$ O
- WSADATA wsaData;
n/ @( a, R9 S; v* O - . }) B3 ^: K1 N
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){; j( ]& J$ ] A3 {
- MessageBeep(MB_ICONSTOP);; v4 X& F+ i1 ]+ b& r n
- printf("Winsock could not be initialized!\\n");
) p, h: ^1 r+ m9 F6 o, K9 @ - WSACleanup();$ {, W* v% _; f4 r( J8 v, ?
- return;
2 i: K h5 N/ W Y - }- V. a# v, U; \3 o' T e8 b; g
- if(m_hSocket!=NULL){5 h1 y) f- K6 P( Q
- closesocket(m_hSocket);4 @+ J$ }- S- A( W
- m_hSocket=NULL;
. S& P1 |( j% W9 J! P1 W& C. i3 K - }
' |0 K9 b$ R' v2 E0 \ k' u( V0 ~ - if(m_hSocket==NULL){# ?- f, W q* d' U4 A, Y4 S F
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0); ! m+ q4 H4 f- A" M
- }' |: i& W* u% Q$ d1 I: x( B
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY;0 @' J4 M! Z( u9 T4 i O# V
- m_addr.sin_family=AF_INET;
1 l7 e. m Q+ j* Y- w - m_addr.sin_port=htons(5000);
- L3 B2 g8 o/ C$ [
3 d/ ?! j4 H, B, X, k/ P8 ? d- int ret=0;
. Y" z" L1 Z1 _- L - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));
! b! p& q u/ `; S& p' d9 I - if(ret==SOCKET_ERROR){
% x7 G7 W; ? z% @! u; e6 | - closesocket(m_hSocket);
5 W8 G7 n3 W/ a( Z3 R - printf("Bind Error.\\n");
9 U9 s6 q) l) [( C# V7 v - return ;6 L4 ~' k. J0 e( j' T
- }' C! U: a6 u H) }9 S; O% u0 U
- WSACleanup();
# l V4 P6 F1 J* ] - }
复制代码 |
|