Windows套接字:流套接字

本文介绍流套接字,可用两个窗口存储的类型之一。 (另一种是 数据进行套接字。)

流提供不记录套接字边界的数据流:可以是双向的字节的流 (应用程序全双工:它可通过套接字传输和接收)。 流可能取决于提供排序的, unduplicated 数据。 (“排序”表示数据包按发送的顺序发送。" Unduplicated”意味着您获取特定数据包次。)流消息的收货,确保,和流动非常适合于处理大量数据。

网络传输层可以分成或组数据包适当的大小。 CSocket 类将处理包和中打开。

流根据显式连接:套接字的请求与套接字 B 的连接;套接字 B 接受或拒绝连接请求。

电话为流提供好比方。 在正常情况下,该接收的一方听到则按顺序表示您添加它,,而不会复制或丢失。 流套接字为实现适用,例如,如文件传输协议 (FTP) (ftp),以便于调用 ASCII 或任意大小二进制文件。

流套接字优于对数据进行套接字,则必须确保数据到达时,所以,当数据很大时。 有关流套接字的更多信息,请参见 Windows 套接字规范。 规范可在 Windows SDK。

使用流套接字可以是优越在设计的应用程序提供广播使用数据进行套接字到网络上的所有接收的套接字,因为

  • 该广播模型受到网络洪水 (或 “风暴”) 问题。

  • 随后使用的客户服务器模式的效率更高。

  • 流模型提供可靠的数据传输,数据在设计不。

  • 最终设计利用能够在 Unicode 之间通信,而 ANSI 类 CArchive 的套接字应用程序同样适用于类 CSocket。

    备注

    如果使用类 CSocket,必须使用流。因此,如果指定套接字类型作为 SOCK_DGRAM, MFC 断言失败。

请参见

概念

在MFC的Windows套接字

Windows套接字:背景