|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:; g# w( \2 R6 F9 d
- void creadHost(){% d- n/ W' P; N# f {3 m
- WSADATA wsaData;2 v, X8 O$ V' y' G4 q7 Z- Q
-
8 V, o6 Z1 }, _0 E: j; L' q5 h - if(WSAStartup(WINSOCK_VERSION,&wsaData)){0 H; `1 \; z3 L; p5 `
- MessageBeep(MB_ICONSTOP);
2 y, A% E: ~$ j - printf("Winsock could not be initialized!\\n");% v5 X0 b6 l/ k* G
- WSACleanup();
; A; H% Z) y7 Z, b& O, V7 M - return;
1 P, o) H" R; L& l; I7 B - }6 ]. a3 R/ z& M! m( h
- if(m_hSocket!=NULL){/ j% m9 A# T; ?+ s) _6 c/ z
- closesocket(m_hSocket);; k6 D3 m0 j/ z0 k. T7 ~/ O3 f. I: Z
- m_hSocket=NULL;
/ ^' r7 S+ V' A O# K% p' X% @ - }
4 _7 K! b9 {6 I6 o: f# y1 j- i8 ] - if(m_hSocket==NULL){4 v% m, `) T5 T" d4 @6 F2 M9 n4 W
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0); # f( Y! i' E. X" u h! T ~
- }
$ |( A* G1 a- ]" s* S7 ?: m* y - m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
) O8 i1 ]4 Q: o - m_addr.sin_family=AF_INET;
' h5 s$ x) T, O Q; q - m_addr.sin_port=htons(5000);7 @- N! B6 [3 _- P' j* i; S% @/ R
- , I# ]! u8 s: }7 l- G8 Z
- int ret=0;2 u6 l. o* { y# Y
- ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));' x! x% _* M2 K% U' _
- if(ret==SOCKET_ERROR){
& {7 u& G6 y! @9 e - closesocket(m_hSocket);
/ T: q% U% P# v7 z Z! k" e' ] - printf("Bind Error.\\n");
8 |( R' y b1 h5 B# a: H% b - return ;: s/ T& a. S) Z1 C9 a1 ?
- }7 h I; ^6 J+ f, s
- WSACleanup();
- U$ m% z& V6 n+ p1 B9 | - }
复制代码 |
|