📄 sy0804.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">使用CSocket对象</font></p>
(一)实验目的<br>
学习使用CSocket<br><br>
(二)实验内容<br>
CSocket类由CAsyncSocket派生而来,它提供了高一级的接口以抽象处理套件字通信。<br>
CSocket类允许你使用与CSocket相关的CArchive对象,在MFC应用程序之间通过WinSock传递C++对象。<br><br>
要在MFC中使用WinSock,需要在AppWizard的Step4选中Windows Sockets支持,这样VC自动在stdafx.h中加入#include < afxsock.h > ,在App类的InitInstance中加入AfxSocketInit()。<br><br>
(三)CSocket类编程模型<br><br>
注意:参与的CSocket对象共需要三类,可称之为Server、Client和Accept三方。<br>
1、创建CSocket对象。<br>
2、调用Create()创建SOCKET句柄。<br>
3、如果是Server端,调用Listen()开始侦听;并在OnAccept()中接受客户请求,创建一个Accept方的CSocket对象调用Accept()。<br>
4、如果是客户端,调用Connect()发出连接请求,并在OnConnect()中可得知是否连接成功。<br>
5、为Client方和Accept方对象创建一个与之相联系的CSocketFile对象。<br>
6、为Client方和Accept方对象创建一或两个与CSocketFile对象相联系的CArchive对象。<br>
7、上述工作完成后,表明已经连接完毕。之后:<br>
(1)Server方继续侦听。<br>
(2)Client方和Accept方通过CArchive对象向对方发送数据。<br>
(3)Client方和Accept方可以在OnReceive()中通过CArchive对象接受处理对方发送来的数据。<br>
(4)Server方可以通过自己的一个或多个Accept方对象向Client方发送数据。<br>
8、销毁CArchive、CSocketFile、CSocket对象。<br><br>
(四)示例程序<br><br>
示例程序中,以类CCommTerm封装了Server、Client和Accept三方的CSocket对象。<br>
Server端与Client端通过CArchive和CSocketFile传递CMsg对象。<br>
示例程序<a href="commtest.rar">下载</a><br>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -