直写到远程客户端

【勇芳软件工作室】汉化HomePreviousNext

当通过网络传输数据时,命名管道句柄的直写模式会影响字节型管道的行为。要为命名管道句柄启用直通模式,进程将为服务器进程的CreateNamedPipe函数或客户端进程的CreateFile函数指定FILE_FLAG_WRITE_THROUGH标志。如果未指定此标志,则禁用直通模式。创建管道手柄后,管道手柄的直写模式不能更改。对于同一个管道实例的服务器和客户端句柄,直写模式可能不同。

如果没有启用直写模式,则系统通过缓冲数据来提高网络操作的效率,直到最少数量的字节已经累积或直到最大时间段过去。缓冲使多个写入操作可以组合成单个网络传输。这意味着在数据在出站缓冲区之后,但在通过网络传输之前,可以成功完成写入操作。

客户端进程可以使用SetNamedPipeHandleState功能来控制禁用直写模式的管道传输之前的字节数和超时周期。

如果启用了直通模式,则在数据位于远程计算机上的管道缓冲区中之前,网络传输不会延迟,并且写入操作未完成。直写模式对于需要每次写入操作同步的应用程序都很有用。

系统总是对消息类型的管道执行写操作,就像启用了直通模式一样。