|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
2 _! l& s( x+ e1 M2 @/ [, G% Y- void creadHost(){
9 F7 _9 L* o( S K! r; }) B - WSADATA wsaData;! ]1 x: Y3 T! h" e& K$ O& U
- , w9 X+ ]( V) z0 f
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){
4 X* s' U ~- o/ A - MessageBeep(MB_ICONSTOP);) q2 O9 E% W0 _0 N5 Z' j' K# \2 t+ M
- printf("Winsock could not be initialized!\\n");
( A$ k. s0 z$ E) W - WSACleanup();
/ t# W' q: z* Z; L& r) n8 ` - return;
: b% p$ z$ _+ H: ~. v - }
, R+ e3 Y# _' L; f' @! b5 J p7 { - if(m_hSocket!=NULL){
2 L4 E A7 W) A* X$ a$ ^ - closesocket(m_hSocket); Q4 z# N! P+ G& ` n3 G% T+ l
- m_hSocket=NULL;1 s3 @% [' v0 G5 j+ S$ r8 l
- }" i7 o) K$ I6 R( |% p- J
- if(m_hSocket==NULL){1 z9 w5 H* @0 T( Z
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
) a$ Z/ @* r1 p- n+ ?6 S( | - }& V, x1 m3 j) o: D
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY; @ h- u' H- K4 ]8 z
- m_addr.sin_family=AF_INET;
8 e0 q% L' U7 K8 _7 }" Q& X - m_addr.sin_port=htons(5000);
! X. Y* Q" d! Y! C9 C
) Z# f4 ]) K$ a( o; V6 V9 M- int ret=0;% A- i: S9 \! D. h& o
- ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));
# {& q* P6 c, j8 C+ K6 H - if(ret==SOCKET_ERROR){
- B, B4 W+ E9 o - closesocket(m_hSocket);
& Y' L; d+ K6 `! f4 p: ^& |; @ - printf("Bind Error.\\n");5 m! T- \; |7 M+ J& n4 S
- return ;
+ o0 B+ D$ k5 ~" w - }3 V& W; y5 S7 ]* n0 e, |/ j) U
- WSACleanup();5 o/ i6 B( Q9 T+ T8 Z
- }
复制代码 |
|