首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    Microsoft 扩展函数

    windows套接字服务提供者想应用程序设计者导出 先进的数据传输功能 1 GetAcceptExSockaddrs函数 粘贴从AcceptEx函数取得的数据,将本地和远程地址传递到sockaddr结构 2 TransmitFile 函数 在一个已连接的套接字句柄上传输文件数据 3 TransmitPackets函数 与TransmitFile类似,不同之处是,既可以发送文件,也可以发送内存缓冲区中的数据 4 ConnextEx函数

    79580发布于 2018-01-17
  • 来自专栏MasiMaro 的技术博文

    WinSock2 API

    在Winsock中为此而专门提供了一个高效传输文件的API——TransmitFile。 上图揭示了TransmitFile能够高效工作的秘密,一般我们来封装这个功能的时候会调用ReadFile,此时由内核层读取文件并将文件文件内容保存在内核的内存空间中,然后通过系统调用们将内容拷贝到R3层 而TransmitFile则相对要高效的多,既然最终是要发送文件,那么它将内容从文件中读取出来后直接将R0层中保存的文件内容通过SOCKET发送出去,有的时候直接采用文件映射的方式将磁盘地址映射到网卡中 这个时候TransmitFile就不再有效了。 请注意TransmitFile的第三个参数 nNumberOfBytesToWrite 是一个DWORD类型,这也就标明这个函数最大只能发送4GB的文件,而对于更大的文件它就无能为力了,为了发送更大的文件

    1.4K10发布于 2018-08-31
  • 来自专栏css小迷妹

    asp.net下载文件几种方式

    protected void Button1_Click(object sender, EventArgs e)  { /* 微软为Response对象提供了一个新的方法TransmitFile来解决使用 Content-Disposition", "attachment;filename=z.zip"); string filename = Server.MapPath("DownLoad/aaa.zip"); Response.TransmitFile

    2.3K20发布于 2021-11-02
  • 来自专栏全栈程序员必看

    ASP.netMVC文件下载

    filePath = Server.MapPath(“”);//路径 return File(filePath, “text/plain”, “”//是客户端保存的文件名字); } (3)TransmitFile Response.ContentEncoding = System.Text.Encoding.GetEncoding(“gb2312”); //获取或设置输出流的 HTTP 字符集 15 Response.TransmitFile

    1.1K10编辑于 2022-09-18
  • 来自专栏全栈程序员必看

    Python和sendfile[通俗易懂]

    TransmitFile. Now that socket.sendfile() is in place it seems natural to add support for it as well (see TransmitFile

    1.1K10编辑于 2022-08-18
  • 来自专栏大内老A

    了解ASP.NET MVC几种ActionResult的本质:FileResult

    在实现的WriteFile方法中,FilePathResult直接将文件路径作为参数调用当前HttpResponse的TransmitFile实现了针对文件内容的响应。 protected override void WriteFile(HttpResponseBase response) 7: { 8: response.TransmitFile

    1.3K100发布于 2018-01-15
  • 来自专栏Java架构师必看

    【译】利用Asp.net MVC处理文件的上传下载

    主要的区别是FilePathResult使用HttpResponse.TransmitFile来将文件写入Http输出流。这个方法并不会在服务器内存中进行缓冲,所以这对于发送大文件是一个不错的选择。 于此同时, TransmitFile还有一个bug,这可能导致文件传到客户端一半就停了,甚至无法传送。而FileStreamResult在这方面就很棒了。

    1.4K20编辑于 2022-02-21
  • 《解构Python网络性能瓶颈:零拷贝栈重构的实战指南》

    同时还要充分考虑跨平台兼容性问题,不同操作系统对零拷贝技术的支持存在显著差异,Linux系统提供了完善的sendfile、splice、mmap等接口,功能全面且性能优异,而Windows系统则通过TransactFile、TransmitFile

    12910编辑于 2026-01-12
  • 来自专栏magicodes

    EXT.NET高效开发(四)——实用技巧

    string filename = Server.MapPath("~/DownLoad/IE8/IE8-WindowsXP-x86-CHS.exe"); Response.TransmitFile

    1.6K10发布于 2018-12-27
  • 来自专栏Java架构师必看

    在ASP.NET中跟踪和恢复大文件下载

    这个补丁引入了TransmitFile方法,它把一个磁盘文件读入到较小的内存缓冲区之后就开始传输该文件。尽管这个方案解决了内存和循环的问题,但是它仍然不能令人满意。你不能控制响应的生命周期。 更糟的是,如果下载的确失败了,TransmitFile方法又从客户端下次尝试的文件头部开始下载。

    1.3K20发布于 2021-03-22
  • 来自专栏红蓝对抗

    攻防技巧|红队快速高效挖掘.net系统漏洞

    BinaryFormatter、SoapFormatter)任意文件读取File.ReadAllBytes(),File.ReadAllText(),Response.WriteFile(),Response.TransmitFile

    27110编辑于 2025-12-05
  • 来自专栏MasiMaro 的技术博文

    WinSock 重叠IO模型

    WSAIoctl (ioctlsocket的等价函数) WSARecvMsg (recv OOB版的等价函数) AcceptEx (accept 等价函数) ConnectEx (connect 等价函数) TransmitFile

    2.2K20发布于 2018-08-31
  • 来自专栏全栈程序员必看

    完成端口与线程池的关系_端口触发

    同样情况也包括的其他Microsoft的特定APIs如TransmitFile,GetAcceptExSockAddrs以及其他Microsoft将在以后版本的windows里。

    1.3K30编辑于 2022-11-11
  • 深入解析Netty零拷贝技术:FileRegion的transferTo与CompositeByteBuf的虚拟缓冲聚合

    FileRegion的transferTo方法底层基于Linux的sendfile系统调用(Windows对应TransmitFile API),建立了一条直达通道。

    38510编辑于 2025-08-27
  • 来自专栏Eureka的技术时光轴

    完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三

    同样的道理,WSARecv()也会涉及到从用户态到内核态切换的问题 --- 这样就使得我们不得不频繁的在用户态到内核态之间转换,效率低下…… 而一个非常好的解决方案是使用微软提供的扩展函数TransmitFile ()来传输文件,因为只需要传递给TransmitFile()一个文件的句柄和需要传输的字节数,程序就会整个切换至内核态,无论是读取数据还是发送文件,都是直接在内核态中执行的,直到文件传输完毕才会返回至用户态给主进程发送通知

    1.1K80发布于 2019-07-24
  • 来自专栏全栈程序员必看

    【Windows网络编程】完成端口IOCP介绍(超详细)

    同样的道理,WSARecv()也会涉及到从用户态到内核态切换的问题 — 这样就使得我们不得不频繁的在用户态到内核态之间转换,效率低下…… 而一个非常好的解决方案是使用微软提供的扩展函数TransmitFile ()来传输文件,因为只需要传递给TransmitFile()一个文件的句柄和需要传输的字节数,程序就会整个切换至内核态,无论是读取数据还是发送文件,都是直接在内核态中执行的,直到文件传输完毕才会返回至用户态给主进程发送通知

    3.9K42编辑于 2022-08-02
领券