●●●●请大家关注CSocketFile

mahatma_cn 2002-05-18 02:50:30
请问:
①CSocketFile跟套接字到底是如何协调工作的?
②请详解其工作原理
谢谢
...全文
213 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
TOYOTA 2002-06-05
MFC提供了两种用Windows Sockets编写网络通信程序的模型,体现在两种MFC类中:
  ·CAsynCSocket(异步套接字)
  该类封装了Windows Sockets API。CAsynCSocket适合于精通网络编程的编程人员。它既可以直接利用套接字API,又可以利用回调函数通知网络事件的发生。这个类并不是将套接字包装成用于C++的面向对象的形式,它所提供的唯一的附加抽象是将某些与套接字相关的Windows消息转换成回调函数。
  ·CSocket(套接字)
  这个类是从CAsynCSocket类中派生出来的,它通过MFC CArchive(文档)类对象为套接字提供了一个更高的抽象。CSocket从CAsynCSocket中继承了许多成员函数。CSocket类的最重要的一点是,它提供了“阻塞(blocking)”,“阻塞”对于文档类的同步操作是很必要的。通常在使用CAsynCSocket时,应避免使用阻塞操作,而应尽量使用异步操作,异步操作为非阻塞操作。缺省情况下,CAsynCSocket支持异步操作,程序员必须使用回调函数来处理阻塞。相反,CSocket类是同步的,它可以自动处理阻塞。
  带有一个CArchive对象的CSocket的编程模型是最简单的编程模型。CArchive对象可以看作是一种二进制数据流。像输入/输出流一样,一个CArchive对象与一个CFile(文件)类对象相联系,并且允许从缓冲区中读数据和往缓冲区中写数据。
  在创建一个CArchive对象之前,必须先创建一个CFile对象。此外,还必须保证该文档的载入(load)/存储(store)状态与文件的打开方式相兼容。每一个文件只对应于一个文档。当构造一个CArchive对象时,程序员需要把它与代表一个打开文件的类CFile( 或其派生类CSocketFile)的一个对象相连接,还要指明该文档将被用作提取(load)数据还是发送(store)数据。
  CSocketFile(套接字文件)类是CFile的一个派生类。如前文所述,通常将一个CSocketFile对象与一个CArchive对象相连,以简化发送和接收数据。在发送数据时,将数据插入文档中,也就是调用CSocketFile成员函数将数据写入CSocket对象中。接收数据时,将数据从文档中抽取出来,就是使CArchive对象调用CSocketFile成员函数从CSocket对象中读取数据。
  使用CArchive和CSocketFile后,程序员就可以不必考虑套接字的细节,只需简单地创建CSocket、CSockFile和CArchive对象,然后开始通过将数据存入(store)CArchive、从CArchive中提取(load)数据以及发送和接收数据,CArchive、CSocketFile和CSocket将处理其内部的细节。
  实际编程中,首先,服务器提供服务,申请一个套接字并处于监听状态,一旦接收到客户机的套接字连接请求,便会立即分配一新套接字建立连接,启动一子线程处理连接信息,原套接字继续用于监听。作为客户机方,先创立一个套接字,然后利用该套接字申请连接,由服务器提供连接服务。服务器建立连接列表,记录所连接的套接字,即各客户机的访问地址,这就是一个Internet上常见的Chat程序的基础。
不知道合不合你意思?
回复
clsw7272 2002-06-04
nod
回复
vtable9999 2002-06-04
很容易就自已解决吧
回复
mahatma_cn 2002-05-20
怎么有分没有人要啊,很容易的啦。
回复
waterdrop31 2002-05-18
gz
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-05-18 02:50
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……