【问题标题】:TransmitFile + SChannel传输文件 + SChannel
【发布时间】:2011-05-02 15:39:28
【问题描述】:

我将 TransmitFile API 与 I/O 完成端口一起用于 Windows 上的高效多线程文件服务器。

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

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

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

【问题讨论】:

    标签: winapi winsock iocp transmitfile schannel


    【解决方案1】:

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

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

    我确实看到通过在内核中完成工作,IIS7 被专门吹捧为 improving SSL performance

    【讨论】:

    • 好吧,这很有道理。有没有办法“锁定”一个套接字/句柄,以便我启动的任何重叠操作在我解锁它之前实际上不会写任何东西?我想可能没有,但在我编写自定义解决方案之前值得检查一下,这可能会变得相当复杂。
    • @Jamie M - 我不知道 - 但我会将其作为一个新问题发布,以确保您获得最佳信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2020-11-14
    • 1970-01-01
    • 2016-07-28
    • 2021-06-06
    • 2011-12-09
    • 2013-02-27
    相关资源
    最近更新 更多