TransmitFile()函数怎么用?想用来传输文件

DryFisHH 2004-09-16 08:02:13
想要向服务端传文件,connect成功以后,执行TransmitFile()函数却出现“在一个非套接字上尝试了一个操作”的错误,为何?

if(connect(sock,(struct sockaddr*)&sin,sizeof(sin))==SOCKET_ERROR)
return 0;

TransmitFile(sock,hFile,0,0,NULL,NULL,TF_DISCONNECT);

如上,第一句没有任何问题,第二句就出错了
...全文
184 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
whwjn 2004-12-03
  • 打赏
  • 举报
回复
http://search.csdn.net/Expert/topic/1164/1164621.xml?temp=.1789514
pclili 2004-12-03
  • 打赏
  • 举报
回复
关注,正在做同样的东东
tangrh 2004-12-03
  • 打赏
  • 举报
回复
TransmitFile(sock,hFile,0,0,NULL,NULL,TF_DISCONNECT);???
问题太多:1、最后一个参数应该填0,填这个就算发了,也会断掉导致对方收不了
2、你的套接字是用重叠io标志创建的?如果不是,呵呵
3、重叠结构指针和传输缓冲区指针怎么都是null呢,这个也有问题
4、本函数一般用于服务器向客户端推文件,只在Win2000以上和WinXP上有,用在客户端估计很危险,万一他是98呢
5、这个函数还可以用来传送普通的数据包,但由于它是从另外的途径,所以效率反而比wsasend稍差
gdy119 2004-09-27
  • 打赏
  • 举报
回复
这个东东 真的没用过,帮你顶了!
DryFisHH 2004-09-17
  • 打赏
  • 举报
回复
唉,没有人知道么?书上说这是传送文件很高效的函数啊,难道都用send和recv吗?为什么不试试这个?

自己顶
cngonet 2004-09-16
  • 打赏
  • 举报
回复
帮你顶

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧