|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
5 ~' K, L9 J8 b1 O- void creadHost(){+ G7 R+ M* k. ]9 K7 r6 Y
- WSADATA wsaData;
9 j3 u# ?- c9 ]+ }) h7 W - 7 G/ H D, h* C; Z2 b- H
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){
4 _! M. v6 O! j k- \ s - MessageBeep(MB_ICONSTOP);7 n+ a. F1 z3 r" ~- m
- printf("Winsock could not be initialized!\\n");
7 r6 J+ H& q% D. e$ {3 v+ m/ u - WSACleanup();
$ @5 }: g7 d: T' j! @( q - return;
/ R, X. ~; U! [+ o9 H4 P - }( r: t% b6 k! d$ C
- if(m_hSocket!=NULL){2 u8 }) u9 H1 z9 \' D( h$ A. S- `
- closesocket(m_hSocket);
, W9 f R9 F3 I6 b, H/ Z! z s p - m_hSocket=NULL;
9 [( K5 R; Z3 Z: E& ^$ ?( ` - }% }; _4 m) k1 m
- if(m_hSocket==NULL){
3 `' d6 \8 ?) J' I) r$ w) ^* Q - m_hSocket=socket(AF_INET,SOCK_STREAM, 0); " s5 E" m8 J0 O# P1 w8 z
- }1 G; A0 x4 ~5 R7 W& @2 t, p0 z# s" L
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
! `2 K6 [) O1 c- I$ X - m_addr.sin_family=AF_INET;
5 D: j$ N/ P! @8 z, u - m_addr.sin_port=htons(5000);
' Q( D* s8 T" n - 6 X! {! d: a1 D
- int ret=0;
3 D( I" S4 m9 o0 y3 | - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));' R5 E, n- ?4 _& M
- if(ret==SOCKET_ERROR){0 M& t; T, h! Y( L8 n2 z8 L5 d
- closesocket(m_hSocket);3 N- u# K9 g( m e
- printf("Bind Error.\\n");: E" e2 Q' M+ h7 ^! o% W: ^% o
- return ;' J a3 v# D Q& E
- }1 n0 T9 V6 J2 W! P8 t- t
- WSACleanup();5 s0 V- R5 E% m: X) R6 f" J% g
- }
复制代码 |
|