|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
: k6 U2 c) X- w) C$ Y: z- void creadHost(){6 h1 o6 y6 _/ S: a& k2 T
- WSADATA wsaData;6 k. ]9 E2 b1 G1 N( \* b) m1 P
- - @7 J- T# y$ i* J
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){7 h; d; F) ]* e0 e4 O2 L% J
- MessageBeep(MB_ICONSTOP);
( d# i1 @1 t! ` - printf("Winsock could not be initialized!\\n");4 L8 {+ ^7 n, o* F8 \; N3 E
- WSACleanup();' C6 f9 E. r+ s1 A, X4 j4 I& n
- return;
$ L# L9 y& p- |7 O - }
8 r+ V$ l8 c. d% \, [; ^6 C; T - if(m_hSocket!=NULL){* D5 b% X8 L5 O2 W- H2 q
- closesocket(m_hSocket);0 H' ^ W7 q) ?
- m_hSocket=NULL;# R+ y) {+ h9 f& R5 e' D0 k
- }
) P# A( e* U' z- Y* N - if(m_hSocket==NULL){+ t9 h& y% e) W1 k* W5 c
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
3 C* [4 f: T1 A3 ], I - }& \9 S4 ~' w' S" G, q7 @3 [
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
3 G, C. F1 _0 [ - m_addr.sin_family=AF_INET;
- r) O/ ?; l. K - m_addr.sin_port=htons(5000);: L! {: L" w0 w6 S6 g- \" x
- ( C8 L4 Q! k, ]' M% S6 g: L
- int ret=0;
7 D6 F% U: u C4 A) x' u) F; \& ~ - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));& _7 Z1 f F5 w
- if(ret==SOCKET_ERROR){
- Q8 o, i6 N" N$ X - closesocket(m_hSocket);
8 w: {8 c$ T# V0 K - printf("Bind Error.\\n");5 h1 t+ P3 A5 R- }$ u
- return ;" A" p! P' B; A4 k
- }2 _& F8 N/ F M L
- WSACleanup();9 t0 b9 y" }- w+ p
- }
复制代码 |
|