|
发表于 2004-6-29 16:56:28
|
显示全部楼层
试试看下面的:
3 f! M! F4 J, ^- void creadHost(){
% R% @, V; r3 [; y g4 e - WSADATA wsaData;/ X7 f5 k2 C5 {6 Q; {% N
- * e) U, q5 Q" f
- if(WSAStartup(WINSOCK_VERSION,&wsaData)){
4 l6 n& j( F% O2 @, L4 b - MessageBeep(MB_ICONSTOP);6 z w3 T, k1 k
- printf("Winsock could not be initialized!\\n");* n# M; O' y/ ^4 a4 B! J, [
- WSACleanup();
% U( [, ~2 i3 ] - return;8 |0 l% d/ U2 u& m4 d; ?8 Z$ G
- }
5 i; D3 ~+ R3 L0 X - if(m_hSocket!=NULL){
$ `7 L8 g" Z. p; n1 p# F$ u5 t" L* r - closesocket(m_hSocket);/ I( f7 p8 M, @$ R6 ^- J/ z
- m_hSocket=NULL;
" ]! O5 K0 l" w8 P& L: d# S n - }
. R0 x- H5 K h' v; | - if(m_hSocket==NULL){
& z* p( x5 g/ v+ \ - m_hSocket=socket(AF_INET,SOCK_STREAM, 0);
* T0 {- m& s7 ?; E8 m - }3 ?& d% \" [: L: m; y+ X
- m_addr.sin_addr.S_un.S_addr=INADDR_ANY;
6 V$ d7 P- g1 E0 I' i9 X' @, v - m_addr.sin_family=AF_INET;
; W) d- u# u. V& x6 l- ^ - m_addr.sin_port=htons(5000);1 o% {' G. W; F a! |
+ Z. T! p' W+ q9 h+ F2 l7 e- int ret=0;4 \% E2 t" @5 Z
- ret=bind(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));( E+ n2 R3 l/ O& {" F5 Z, @
- if(ret==SOCKET_ERROR){
3 C9 }) m1 ]4 D& h - closesocket(m_hSocket);% {# z% W- H/ H# y' u
- printf("Bind Error.\\n");
: l% Y- i, \: A* {1 K' j8 G0 c - return ;# B+ Q2 e' S1 ]/ ` b
- }0 j1 v9 Z f4 I; |
- WSACleanup();4 C2 D; V. Y$ O, B
- }
复制代码 |
|