TransmitFile

int nRetVal = TransmitFile(pContext->m_Socket,//
				(HANDLE)pContext->m_File.m_hFile,//已打开的文件
				(DWORD)pContext->m_iMaxFileBytes, /*从文件发送的字节数,取值为零时表示发送整个文件*/
				0,//参数指明每个发送操作中所发送的每个数据块的大小,如果将其指定为零,系统就使用默认的发送大小。
				&pOverlapBuff->m_ol,
				NULL,//包含存储缓冲区,这个存储缓冲区将在文件被传输之前或之后传输。
				0);

				/*对基于文件的I / O(如WEB服务器)来说,TransmitFile 函数很有用。
				另外它的一个有用的特性,是能够指定标志 TF_DISCONNECT 和 TF_REUSE_SOCKET。
				如果两个标志都指定,一旦发送操作完成,文件和(或)存储缓冲区都将被传输,套接字也将断开。
				同时,传递到API的套接字句柄将被用作AcceptEx中的客户机套接字,或用作AcceptEx中的连接套接字。
				因为套接字创建耗费非常之大,所以这一个极其有用。
				服务器可以用AcceptEx来处理客户机连接,
				然后用 TransmitFile 发送数据(指定上述标志),过后套接字句柄可以在随后对的AcceptEx 调用中使用。*/

 

转载于:https://my.oschina.net/zengjs275/blog/747384

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值