
Windows Sockets:流式套接字
发布时间:2006-05-05 19:03:35 来源:MSDN 网友评论 0 条本文描述流式套接字,它是两种可用的 Windows Sockets 类型中的一种。(另一种类型是数据文报套接字 。)
流式套接字提供没有记录边界的数据流:可以是双向的字节流(应用程序是全双工:可以通过套接字同时传输和接收)。可依赖流传递有序的、不重复的数据。(“有序”指数据包按发送顺序送达。“不重复”指一个特定的数据包只能获取一次。)这能确保收到流消息,而流非常适合处理大量数据。
网络传输层可将数据拆分为或分组为若干个大小适当的数据包。 CSocket 类将为您处理打包和解包。
流基于显式连接:套接字 A 请求与套接字 B 建立连接;套接字 B 接受或拒绝此连接请求。
打电话的情况与流非常相似:正常情况下,接听方听到您的话和您讲话时的顺序一样,没有重复和遗漏。流套接字适合文件传输协议 (FTP) 这类实现,此协议有利于传输任意大小的 ASCII 或二进制文件。
如果必须保证数据送达而且数据大小很大时,流式套接字优于数据文报套接字。有关流式套接字的更多信息,请参见 Windows Sockets 规范。该规范可在 Platform SDK 中获得。
MFC 示例 CHATTER 和 CHATSRVR 都使用流式套接字。这些示例可能已经设计为使用数据文报套接字向网络上的所有接收套接字广播。而目前的设计更好,这是因为:
- 广播模型受制于网络“洪水”(或“风暴”)问题。
- 后来采用的客户端-服务器模型更有效。
- 流式模型提供可靠的数据传输,数据文报模型则未提供。
- 最终模型利用在 CArchive 类借给 CSocket 类的 Unicode 和 ANSI 套接字应用程序之间通信的能力。
注意: 如果使用 CSocket 类,则必须使用流。如果将套接字类型指定为 SOCK_DGRAM ,则 MFC 断言失败。
推荐阅讯
- 新手入门:C/C++中的结构体
- 采用c/c++编程实现盗取2005 Beta2.0版QQ
- VC#2005快速入门之使用do语句
- 基于VC++的OpenGL编程讲座之概述
- C++的未来之路:C++0x概览
- Visual C++中DDB与DIB位图编程全攻略
- C++箴言:只要可能就用const
- C/C++中利用空指针(NULL),提高程序运行效率
- C++箴言:理解inline化的介入和排除
- C++箴言:绝不在构造或析构期调用虚函数
阅读排行
- 1.Borland 发布C++ Builder 2006 RAD 环境
- 2.C/C++程序员应聘常见面试题深入剖析
- 3.Visual C++常用数据类型转换详解
- 4.C++中的 static 关键字
- 5.利用VC++实现局域网实时视频传输
- 6.浅谈C/C++内存泄漏及其检测工具
- 7.英国投票否决C++/CLI 微软强攻ISO标准受挫
- 8.VC++下用MSComm控件实现串口通讯
- 9.伪随机数生成及在VC++中的实现
- 10.VC++编程实现对波形数据的频谱分析
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
