繁体中文
高级搜索
 
首页 | 电子技术应用 | 行业最新动态 | 行业最新产品 | 软件资料下载 | 电路图纸欣赏 | 博客文章精选 | 电子精品论坛 | 电子技术贴吧

当前位置:首页 >> 电子技术应用 >> 网络与通信-应用 >> 利用回调函数和CSocket建立网络程序
利用回调函数和CSocket建立网络程序
作者:   来源:中国电子技术信息网 发表时间:2006-11-30  字号:  
利用回调函数和CSocket建立网络程序

scxy(原作)
关键字 回调、CSocket、网络

在使用CSocket使用中的一些经验,特贴出来跟大家共享。

先利用VC建立一个工程(单文档、多文档或对话框均可),以下以单文档工程为例。

在工程中加入CSocket类的继承类CServerSock。在CServerSocket类中加入CMyView* m_pView,修改CServerSocket的构造函数CServerSocket::CServerSocket(CMyView* pView){m_pView=pView},这个类监听客户端连接;再加入CClientSock类,同样继承于CSocket,同样如上修改CClientSock的构造函数;服务器端开始连接的代码如下:

再CMyView类中(错误代码自己实现)

CServerSock* m_pServer;

CClientSock* m_pClient;

WSADATA wsa;

AfxSocketInit(&wsa);

m_pServer=new CServerSock(this);

m_pServer->Create(MY_PORT,SOCK_STREAM,MY_IPADD);

m_pServer->Listen(MY_MAXNUMBER);

在CServerSock类中重载虚拟函数OnAccept

m_pView->Accept();//回调CMyView类中的Accept函数;

CMyView类中新建函数Accept

m_pServer->Accept(m_pClient)

在CClientSock类中重载虚拟函数OnReceive

m_pView->Recv();//回调CMyView类中的Recv函数;

CMyView类中新建函数Recv

m_pClient->Receive(buf,bufsize);

至此服务器端准备完毕

在客户端里同样添加CClientSock类,同样修改构造函数,重载虚拟函数OnReceive

m_pView->Recv();//同上CMyView里的Recv()函数是接受消息的;

客户端的连接操作是

CClientSock* m_pClient;

WSADATA wsa;

AfxSocketInit(&wsa);

m_pClient=new CClientSock(this);

m_pClient->Connect(SERVER_ADD,SERVER_PORT);

现在已成功连上服务器,可以进行通讯了。

!注意:如果您发现此文章出现影响您的阅读的状况,请从浏览器地址栏里复制本文的链接到留言本报告给站长解决!
  • 上一篇: 基于Visual C 的Winsock API研究
  • 下一篇: 深入了解异步套接字

  • >> 联系我们请给我们留言·留言本
    本站所有提供的信息软件资料均来自网络,版权及著作权归原作者所有,如果无意中侵犯了您的相关权利或触及法律法规,请给我们留言, 我们将在24小时内删除。
      浙ICP备05071687号  电子技术精品网