文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发C/C++Windows Sockets:带存档的套接字的工作方式
精品推荐
特别推荐
·C语言编程易犯毛病集合
·C语言编程常见问题解答(目录)
·C#程序开发中的常用函数汇总
·C/C++笔试、面试题目大汇总
·Beej的网络socket编程指南
·socket编程原理
·C语言的常用库函数使用方法分析及用途
·在C语言中如何处理时间和日期
·C++设计模式之Singleton
·VC++动态链接库编程之MFC扩展 DLL
·TCP/IP网络重复型服务器通信软件的设计
·DirectX游戏开发入门
·经典与现代的结合:在MFC中集成RAD .NET框架
·Windows API-GDI入门基础知识详解(2)
·Visual C++ 入门精解
·C#基础概念二十五问
·用C#实现pdf文件的完整性验证
·成为嵌入式程序员应知道的0x10个问题
·TCP/IP编程实现远程文件传输
·几个C#编程的小技巧
热点TOP10
·学生成绩管理系统实习
·C#编写的windows计算器-源代码
·socket编程原理
·飞机订票系统设计
·C/C++笔试、面试题目大汇总
·TCP/IP编程实现远程文件传输
·Visual C++ 实现数字化图像的分割
·C语言图形函数
·C#基础概念二十五问
·改编 的 C版 职工管理系统
·C语言的常用库函数使用方法分析及用途
·用C语言实现Ping程序功能
·C#源码读取excel数据到程序中-SQL SERVER-到dataset中
·C# GridView 排序及分页
·进程调度模拟程序
·Windows下C语言网络编程快速入门
·通讯录的源代码(用链表实现)
·DirectX游戏开发入门
·在Visual Studio.NET中使用Crystal Report(上)
·asp.net中调用javascript函数实现多功能日期控件示例

Windows Sockets:带存档的套接字的工作方式

日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]


本文解释如何组合 CSocket 对象、CSocketFile 对象和 CArchive 对象以简化通过 Windows 套接字发送和接收数据。

文章 Windows Sockets:带存档的套接字示例介绍了 PacketSerialize 函数。 PacketSerialize 示例中的存档对象的工作机制与传递给 MFC Serialize 函数的存档对象非常相似。它们之间的基本差异是:对于套接字,存档并不附加到标准的 CFile 对象(通常与磁盘文件关联),而是附加到 CSocketFile 对象。 CSocketFile 对象不是连接到磁盘文件,而是连接到 CSocket 对象。

一个 CArchive 对象管理一个缓冲区。当存储(发送)存档的缓冲区已满时,关联的 CFile 对象写出缓冲区的内容。刷新附加到套接字的存档缓冲区相当于发送消息。当加载(接收)存档的缓冲区已满时, CFile 对象停止读取直到该缓冲区再次可用。

CSocketFile 类从 CFile 派生,但它并不支持 CFile 成员函数,如定位函数 Seek GetLength SetLength 等,锁定函数 LockRange UnlockRange ,或 GetPosition 函数。每个 CSocketFile 对象必须要做的事是,将字节序列写入或读入关联的 CSocket 对象,或从此对象写出或读出字节序列。因为不涉及文件, Seek GetPosition 等操作没有意义。 CSocketFile CFile 派生,因此它通常会继承所有这些成员函数。为防止发生这种情况,在 CSocketFile 中重写不受支持的 CFile 成员函数以引发 CNotSupportedException。

CSocketFile 对象调用其 CSocket 对象的成员函数来发送或接收数据。

下图显示了在通信的两端这些对象之间的关系。

CArchive、CSocketFile 和 CSocket

这看起来很复杂,其目的是使您不必亲自管理套接字的细节。您创建套接字、文件和存档,然后通过将数据插入存档或从存档提取数据,开始发送或接收数据。CArchive、CSocketFile 和 CSocket 管理后台的细节。

CSocket 对象实际是一个两状态对象:有时异步(通常状态)有时同步。处于异步状态时,套接字可以从框架接收异步通知。然而,在操作(如接收或发送数据)过程中,套接字变为同步的。这意味着在同步操作完成之前,套接字不会接收进一步的异步通知。由于套接字切换模式,请执行类似下面的操作:

CMySocket::OnReceive( ){ // ... ar > > str; // ...}

如果 CSocket 没有实现为两状态对象,则在您处理前面通知的同时,有可能接收到同类事件的附加通知。例如,在处理

OnReceive

时,可能收到

OnReceive

通知。在上面的代码片段中,从存档提取

str


[1] [2] 下一页 




上一篇:浅析c/c++中的指针

下一篇:C语言:黑客学员必修课(一)

Windows Sockets:带存档的套接字的工作方式 相关文章:
·Windows Vista震撼1600X1200高清壁纸
·另类阴道玩弄方式
·WindowsXP超级技巧
·Windows XP的20个超级实用技巧大全
·最全面的WindowsXP修改大全
·让Windows XP系统快10倍
·Windows Vista Ultimate中文旗舰版下载+简单破解(支持迅雷HTTP & BT)
·破解windowsXP,window2000的开机密码
·图文详解 Windows 2003服务器集群安装
·Windows XP鲜为人知的N招实用技巧
Windows Sockets:带存档的套接字的工作方式 相关软件:
·Windows主题70合一典藏版
·豪杰音乐工作室V1.1 Build 0602
·Windows 2003 Server 简体中文企业版(免激活)ISO
·暗黑破坏神 2 毁灭之王 法师存档
·三国志10威力加强PK版中文版 内存+存档+剧本修改器v1.10
·Windows 98简体中文第二版
·如何加固Windows XP 主机安全
·Windows XP Service Pack 2简体中文版
·Windows环境下32位汇编语言程序设计
·Windows XP Home Edition SP2简体中文版

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot