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

📄 d106.bmp.txt

📁 Visual C++通信编程工程实例精解(附盘)
💻 TXT
字号:
    这里需要注意的是,CArchive对象只能单向传递数据:载入(接收)或者存储(发送)。
在某些情况下,用户必须使用两个CArchive对象,一个进行数据接收,一个进行数据发送。
具体的数据的传输过程如图3-22所示。
       aR器          li户
CArchive CSocketFile CSocket  lIl  CSocket CSocketFile CArchive
呼K
接收数据
                                                                                     I
CArchive  CSocketFile  CSocket     I     CSocket  CSocketFile  CArchive
刚n
接收数据    网络;    发送数据
图3-22数据在CArchive、CSocketFile和CSocket对象间的传输过程
    对于套接字而言,CArchive对象与CSocketFile对象相关。CSocketFile对象连接一个
CSocket对象,一个CArchive对象将负责管理一个缓冲区,它特别为CSocket提供的
IsBufferEmpty成员函数。当storing(发送)CArchive对象的缓冲区被填满时,相关的CSocketFile
对象将缓冲区的内容取走,当loading(接收)CArchive对象的缓冲区被填满时,将接收数
据的通告可能祓无线延迟,此时CSocketFile对象停止读出直到缓冲区可用。
3.4.2开发步骤
    本节通过一个实例来具体介绍基于CSocket类的网络编程应用,具体程序源代码见随书
光盘“Chapter 3\Example 6\”。
    下面通过一个Visual C++环境下编写的客户机/服务器模式的网络应用程序,实现对
CSocket类的派生和应用。
    (1)利用MFCAppWizard生成程序框架
    建立基于对话框构架的应用程序,填写工程名为“LANChat”。由于调用CSocket类需
要用到头文件afxsock.h,所以在第2步(Step 2)中选中“Windows Socket”复选框,其他
接受默认的MFC AppWizard设置即可,或者在stdafx.h中添加#include <afxsock.h>。这个与
3.3.2节介绍的实例的情况相同,在这里就不再具体说明了。
    (2)增加控件对象
    1)向主对话框添加控件。
    该应用程序是客户机/服务器一体的,因此主对话框设计内容如下:一组(两个)单
选按钮(Radio Button)控件来指定应用程序是作为客户机还是服务器而运行;一组编辑
框(Edit Box)用于输入计算机服务器侦听的端口号;为丁输入字符串和显示的字符串,
/06

⌨️ 快捷键说明

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