设为首页 加入收藏

TOP

利用WinSock进行有连接的通信
2014-11-23 20:10:12 来源: 作者: 【 】 浏览:12
Tags:利用 WinSock 进行 连接 通信

 
    
    

WinSock提供了对TCP(传输控制协议)的支持,通过TCP协议我们可以与指定IP地址的主机建立,同时利用建立的连接可以双向的交换数据。利用CSocket操纵有连接数据交换很简单,但是在有连接的通信中必需有一方扮演服务器的角色等待另一方(客户方)的连接请求,所以服务器方需要建立一个监听套接口,然后在此套接口上等待连接。当连接建立后会产生一个新的套接口用于通信。而客户方在创建套接口后只需要简单的调用连接函数就可以创建连接。对于有连接的通信不论是数据的发送还是发送与接收的顺序都是有保证的。双方的函数调用顺序如图 aspectratio="t"> vc/63_g1.gif" src="./0042.files/image001.gif">

下面的代码演示了如何建立连接和发送/接收数据:

/*
     
服务器方在端口6802上等待连接,当连接建立后关闭监听套接口
      
客户方向服务器端口6802发起连接请求
      
*/
     
BOOL CMy63_s1_serverDlg::OnInitDialog()
     
{
     
         CDialog::OnInitDialog();
     
 
     
         CSocket sockListen;
     
         //创建本地套接口
     
         sockListen.Create(6802,SOCK_STREAM,"127.0.0.1");
     
         //绑定参数
     
         sockListen.Bind(6802,"127.0.0.1");
     
         sockListen.Listen(5);
     
         //等待连接请求,m_sockSend为成员变量,用于通信
     
         sockListen.Accept(m_sockSend);
     
         //关闭监听套接口
     
         sockListen.Close();
     
         //启动定时器,定时发送数据
     
         SetTimer(1,3000,NULL);
     
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇利用WinSock进行无连接的通信 下一篇MFC概述

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: