|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
6 v, D9 |7 C$ z2 W$ v- I% q& E- void creadHost(){
; G0 U9 m% l% F n# D2 g8 T# Z - WSADATA wsaData;; ~$ ], Z6 ~4 m1 `- `
- 1 Q. y& V" ?8 M2 F" _
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){
4 c, h8 ^+ i0 b3 q" w8 y( L+ ? - MessageBeep(MB_ICONSTOP);
7 o; F( f, D/ h- [! m+ x9 Q( Q - printf("Winsock could not be initialized!\\n");
# Z) U- m r, {* D$ ?3 S( X - WSACleanup();( e" x! X9 {- T/ Z0 W( b5 w/ C, S( ^7 P
- return;
( b8 K- w8 Z9 ~ |# {1 U - }$ _3 m$ m. D j+ _/ h$ p$ }
- if(m_hSocket!=NULL){( H, p. H' `% U* V$ P$ O* I
- closesocket(m_hSocket);
: m3 ^ [( R$ Q7 S( ^ - m_hSocket=NULL;
; y! _% {) }/ x- S4 K9 g - }- a$ x! X+ o" g d9 x7 O1 B
- if(m_hSocket==NULL){
$ a1 f3 T" s; R S- U6 F* l4 { C) _1 A - m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
4 U {3 h' a! i# i - }
3 D' L. ?" T7 N' ^0 ? - m_addr.sin_addr.S_un.S_addr=INADDR_ANY;$ M* X! P+ y9 ?" `
- m_addr.sin_family=AF_INET;
: B% ~+ p' _6 m' H3 i - m_addr.sin_port=htons(5000);
$ p+ c; a; P4 \6 @ - 6 J* ]9 i; \) [" f/ \
- int ret=0; J1 y6 r/ i2 W4 ]0 j
- ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));9 Z4 O* `: u8 k* n" O4 f+ B
- if(ret==SOCKET_ERROR){/ N1 b9 q/ ?# U- Q# [1 `
- closesocket(m_hSocket);
* s3 U; U# n- l* B - printf("Bind Error.\\n");! d' k$ J& [3 j- Z+ a; [
- return ;8 ?2 w5 N5 s& D! U
- }
1 i8 s- s$ |8 @/ m5 ]0 Y1 B - WSACleanup();: N$ k6 @0 p7 c5 U% o* T
- }
复制代码 |
|