1

我正在使用带有 I/O 完成端口的 TransmitFile API 在 Windows 上实现高效的多线程文件服务器。

这一切都很好,但我现在也使用SChannel实现了安全套接字。因为 TransmitFile 将文件直接流式传输到套接字,所以我看不到调用 EncryptMessage 的方法 - 我需要分块读取文件,手动加密和传输它们吗?

当 TransmitFile 仅出于高性能文件传输的目的而提供时,这似乎有点愚蠢,并且安全套接字非常普遍。我想知道 IIS 做了什么,考虑到我相信 TransmitFile 首先是为 IIS 实现的?

(我最初制作了“TransmitFile”和“EncryptMessage”超链接,但垃圾邮件保护只允许一个 - 抱歉)

4

1 回答 1

2

TransmitFile 由 IIS 使用,但不用于加密数据。我不知道它实际上做了什么,但众所周知,添加加密会大大减慢速度。

TransmitFile 直接使用操作系统缓存,任何逐字节操作(例如加密)都意味着这是不可能的。

我确实看到 IIS7 被特别吹捧为通过在内核中完成工作来提高 SSL 性能。

于 2010-10-30T15:29:50.183 回答