⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sy0803.htm

📁 c语言经典教程
💻 HTM
字号:
<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<p><font color="#0000FF">MFC与WinSock API</font></p>
<p>(一)实验目的</p>
<p>学习使用CAsyncSocket</p>
<p>(二)实验内容</p>
<p>微软MFC类库提供了两个不同的类,用来在你的应用程序中使用套接字。第一个是CAsyncSocket,它提供的低级接口几乎与前面所示的C语言API调用直接对应。CSocket类由CAsyncSocket派生而来,它提供了高一级的接口以抽象处理套件字通信。CSocket还允许你使用与CSocket相关的CArchive对象,可以在MFC应用程序之间通过WinSock传递C++对象。</p>
<p>要在MFC中使用WinSock需要在AppWizard的Step4选中Windows Sockets支持,这样VC自动在stdafx.h中加入#include 
  &lt;afxsock.h&gt;,在App类的InitInstance中加入AfxSocketInit</p>
(三)CAsyncSocket主要函数<br><br>
1.Create()<br>
2.Bind()<br>
3.Listen()<br>
4.Connect()<br>
5.Accept()<br>
6.Send()<br>
7.Receive()<br>
8.ShutDown()<br>
9.Close()<br><br>
(四)CAsyncSocket可重载消息响应函数<br><br>
1.OnAccept():得到通知,可以调用Accept()接受连接请求。<br>
2.OnConnect():得到通知,向Server端的连接请求是否已经成功。<br>
3.OnReceive():得到通知,可以调用Receive()接受数据。<br>
4.OnSend():得到通知,可以调用Send()发送数据。<br>
5.OnClose():得到通知,被连接的对方对象已经关闭。<br><br>
(五)CAsyncSocket编程模型<br><br>
 注意:参与的CAsyncSocket对象共需要三类,可称之为Server、Client和Accept三方。<br>
1、创建CAsyncSocket对象。<br>
2、调用Create()创建SOCKET句柄。<br>
3、如果是Server端,调用Listen()开始侦听;并在OnAccept()中接受客户请求,创建一个Accept方的CAsyncSocket对象调用Accept()。<br>
4、如果是客户端,调用Connect()发出连接请求,并在OnConnect()中可得知是否连接成功。<br>
5、上述工作完成后,表明已经连接完毕。之后:<br>
 (1)Server方继续侦听。<br>
 (2)Client方和Accept方可以调用Send()向对方发送数据。<br>
 (3)Client方和Accept方可以在OnReceive()中接受处理对方发送来的数据。<br>
 (4)Server方可以通过自己的一个或多个Accept方对象向Client方发送数据。<br>
6、销毁CAsyncSocket对象。<br><br>

<p>示例程序<a href="AsyncSocket.rar">下载</a></p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -