connect函数详解

来源:互联网 发布:阿里云网站空间误删 编辑:程序博客网 时间:2024/06/07 02:44

不得不说,客户端的connect函数和服务端的accept函数是一对好基友,如果客户端没有去connect, 那么服务端的accept会一直在那里傻傻地痴痴地等待,我们先来看看connect函数的原型吧:

[cpp] view plain copy
  1. WINSOCK_API_LINKAGE  
  2. int  
  3. WSAAPI  
  4. connect(  
  5.     SOCKET s,  
  6.     const struct sockaddr FAR * name,  
  7.     int namelen  
  8.     );  

      第一个参数是客户端的套接字(表明即将发起连接请求),第二个参数是服务端的套接字所在的“地方”(“地方”是我自定义的专有名词),第三个参数是该“地方”的大小。

      如果请求连接成功,则返回0,否则返回错误码。

     

     下面我们看看服务端如何去发起连接请求:

[cpp] view plain copy
  1. SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);  
  2.   
  3. SOCKADDR_IN addrSrv;  
  4. addrSrv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");  
  5. addrSrv.sin_family = AF_INET;  
  6. addrSrv.sin_port = htons(8888);  
  7. connect(sockClient, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));  

     当然啦,应该注意处理函数的返回值,上次就被师傅说了一次。

0 0
原创粉丝点击