|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:8 p+ m" ]* I2 k$ e; Z, x, Q
- void creadHost(){ W( M$ z, Y* M, J. ]- \. Y3 _$ r1 q
- WSADATA wsaData;
# }3 b$ ^4 ^ T9 R - 7 _9 k- B, x4 H3 @5 C1 ^; b Z7 s
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){
# Y! d* B& i4 U4 I5 `8 x/ t - MessageBeep(MB_ICONSTOP);
- S* y l! k5 Z) d* J' ] - printf("Winsock could not be initialized!\\n");5 L. ^9 u1 U. z* ]* t0 [
- WSACleanup();
. u; l! W* q6 k6 D2 p - return;; J+ Z. g0 p) f: ?% P
- }' }4 k+ C5 l1 i+ z
- if(m_hSocket!=NULL){
7 }4 }9 W8 Y( f - closesocket(m_hSocket);
+ g. b, M$ ~8 G6 j/ ?6 b - m_hSocket=NULL;4 K$ S# F7 O, i- |" | Q
- }# i( I, s( {, G$ U9 \" N! Q3 j9 U }
- if(m_hSocket==NULL){6 ?' s4 O4 q9 Y: x
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0); " v. T2 D. Z* M5 c$ h
- }
3 n& i* R" j% t/ N - m_addr.sin_addr.S_un.S_addr=INADDR_ANY;' J. [, n) H. a7 e" h2 T
- m_addr.sin_family=AF_INET;2 ~( X5 L; W! Q
- m_addr.sin_port=htons(5000);
1 `, W8 o) h2 i$ V# V$ U - 3 w6 }8 I; W- p3 l$ @# @- e) _3 B
- int ret=0;9 L: `/ r) q0 e4 s9 e
- ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));
4 c6 I3 U8 S# Z r+ Q' _5 m - if(ret==SOCKET_ERROR){
6 B* ]2 h) ~3 c" o( h& o- l" U - closesocket(m_hSocket);, Z" @- m2 b! i
- printf("Bind Error.\\n");# y m0 Q' S+ g7 O5 L
- return ;
+ l+ Q9 I( I$ Y2 k. }8 J# a - }
/ H) y8 I( x% m0 |2 p2 n) ] - WSACleanup();8 [% n. K* t. y! Q' h/ B
- }
复制代码 |
|