|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的: r- A8 t% e# s" t! l
- void creadHost(){
1 W2 F/ X8 m- N; [# l- m - WSADATA wsaData;( m7 F3 e9 e- m. c
-
( Y5 X* j- V# b# g4 v - if(WSAStartup(WINSOCK_VERSION,&wsaData)){& B* n* M m% X* N/ o+ S
- MessageBeep(MB_ICONSTOP);% f4 v4 B) s" h; a( ?, Z" U
- printf("Winsock could not be initialized!\\n");
# P2 [1 V8 ^( g5 \% K2 ?8 } - WSACleanup();5 r6 {- ]- j5 K+ O
- return;7 |$ ]6 N! s) c# @
- }4 d. Y |% u$ s
- if(m_hSocket!=NULL){3 p: B- o! N" k" y. r0 \6 a
- closesocket(m_hSocket);
0 ^" V' K& V% C+ }1 V4 w% G, V3 O - m_hSocket=NULL;/ f* ~$ N: j) T. l) C
- }) }7 X' p0 [; m* v( t* Z$ t
- if(m_hSocket==NULL){7 O5 L8 S5 T& R* T: K" C' o( e
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
: @+ e* _ W' E; P - }
9 G; R9 ]2 N, h- @# O/ d- Z* ]" \ - m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
/ r8 g& J7 ]- _: k' [ - m_addr.sin_family=AF_INET;
E! @3 h' l8 m' E! Y3 [+ Q - m_addr.sin_port=htons(5000);
- x8 f" X4 i( Z% t% a
7 V+ c2 C. A( R7 m( E- int ret=0;
) f, M5 u+ R5 b7 F0 l# F - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));$ D2 M' P5 y* U+ e6 {# q
- if(ret==SOCKET_ERROR){& O: G! Y! v f& n
- closesocket(m_hSocket);
. o3 `# [# `" v$ F! m$ Z - printf("Bind Error.\\n");6 F: J! P( d4 ?# n
- return ;
+ t- v4 z7 B7 u- e* h, K - }
& x4 k: M" N, S - WSACleanup();1 I- ~/ i# e) I) ]
- }
复制代码 |
|