|
|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:' c+ O. D4 ~1 J8 o1 I2 f" x
- void creadHost(){$ B/ c; H7 K( B+ t; p" N
- WSADATA wsaData;6 h# I$ B& u* y& }' q) m
-
% M9 r' o/ y, Y* t7 S - if(WSAStartup(WINSOCK_VERSION,&wsaData)){2 r+ x3 n$ \. ^ k
- MessageBeep(MB_ICONSTOP);
; |2 P" K8 x/ b0 V* ~6 g: K - printf("Winsock could not be initialized!\\n");
2 |9 B- v( y' y2 Q& U. X/ J/ } - WSACleanup();5 [$ J7 } c' D" j
- return;: ]/ F9 q! x/ t9 L+ T2 e& b
- }1 A7 r, P0 d, U3 E+ F! P% q
- if(m_hSocket!=NULL){
$ [$ F h' ^* [' ?/ x9 |" s - closesocket(m_hSocket);4 c! w @& n& f* V, |8 {
- m_hSocket=NULL;; d, m0 u/ U2 L1 D+ }& W
- }; g8 v. F5 \, `8 {' \
- if(m_hSocket==NULL){5 t- \6 n0 P$ E1 M+ k9 i9 o: v
- m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
8 `) ~& K" p5 ^, Y7 p7 \ - }
1 ~; f2 q- H' d- C+ k! z; {3 ^ - m_addr.sin_addr.S_un.S_addr=INADDR_ANY;7 Y, _" b& {+ N9 Z& U6 z
- m_addr.sin_family=AF_INET;
( H T5 Z/ k* ?6 _6 W4 J3 Q# ^ - m_addr.sin_port=htons(5000);
( d3 [6 n, Q# v( o - + Y$ g% A+ T8 g0 G3 E; h" X# b
- int ret=0;
% ^! J/ A, B% m; h0 T# M - ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));
; @% k9 x+ H6 u T) @- O2 u7 ~ - if(ret==SOCKET_ERROR){
. s! I R/ Y( z. Y3 m! }( q - closesocket(m_hSocket);6 J0 T4 P( L: ^ q9 p
- printf("Bind Error.\\n");
& C9 t* r- A( w - return ;2 Y7 `% B# J! o2 d9 q- m' l
- }
' H m5 h! N/ `( j. k, b( F - WSACleanup();
# r; z0 _6 @: s - }
复制代码 |
|