|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:/ c, ^) \" A+ {7 f% v x$ U( H
- void creadHost(){* y, O5 u- e- }0 v
- WSADATA wsaData;1 A8 ^! G- r) M, f
- ; ]5 j% l5 [/ J3 T* d9 z+ Y; ?
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){
8 b3 P# \% h1 I2 `& v) J# E - MessageBeep(MB_ICONSTOP);' S8 s) C9 o* i+ C
- printf("Winsock could not be initialized!\\n");* u( B+ B! p6 f- @
- WSACleanup();
% R4 B1 @9 n3 I - return;4 G; R% Z3 r: D1 H9 A
- }
' X6 e( c2 F% |2 y/ s% B$ @ - if(m_hSocket!=NULL){
( @9 E7 X- `& O. i6 ~5 P. U, N E - closesocket(m_hSocket);
j3 p6 p1 s$ _. W1 z/ N - m_hSocket=NULL;
, w x+ G8 v; ?6 B) C - }
6 T5 H) ?/ f) c m: ] - if(m_hSocket==NULL){. {" Q' B0 V; P, V2 C1 `
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
* z+ A4 L! U+ t( |) [/ M; O, \ - }: s4 S) t4 }% j! t" O
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
* Z6 t8 {+ S5 U# X( { - m_addr.sin_family=AF_INET;
7 ?% h, m0 C. W' X- q8 A" \ - m_addr.sin_port=htons(5000);
9 w& E, D# _0 \
C+ J v+ Z' a' q- int ret=0;
9 ~9 N4 }% U, T; i - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));' T4 b. o6 O4 m% F3 \( l% X
- if(ret==SOCKET_ERROR){
9 m/ f& N8 G( W' l1 J - closesocket(m_hSocket);
; H7 Z7 `5 Y/ Y- ~ - printf("Bind Error.\\n");
) F- w A6 Q7 q0 y6 P6 ]8 r# f" f3 b - return ;/ S; m$ g- \$ v7 B! W- F
- }
, T5 B. |3 J( P4 u - WSACleanup();
9 F% j4 r* A2 T B5 |! V' k, W - }
复制代码 |
|