码迷,mamicode.com
首页 > 编程语言 > 详细

用c++开发基于tcp协议的文件上传功能

时间:2015-08-17 06:22:04      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

2005我正在一家游戏公司做程序员,当时一直在看《Windows网络编程》 这本书,把里面提到的每种IO模型都试了一次,强烈推荐学习网络编程的同学阅读,比 APUE 讲的更深入

    • 这是某个银行广告项目(p2p传输视频)的一部分
    • IO模型采用的阻塞模式,文件一打开就直接上传
    • 用vc 2003编译,生成win32 dll
    • 麻雀虽小五脏俱全,CSimpleSocket,CReadStream
    • dll 输出一虚类

      1. extern "C" __declspec(dllexport)
      2.  
      3.  
      4. ISendFileInterface * CreateSendFile()
      5. {  
      6.     return new CFileClient();
      7. }
      8.  
    • 接口定义如下

      1. typedef struct
      2. {
      3.     unsigned int    uploaded;   //已经上传的字节数
      4.     bool            finished;
      5. }TransInfo,*PTransInfo;
      6.  
      7.  
      8. struct ISendFileInterface
      9. {
      10.  
      11. virtual ~ISendFileInterface(){};
      12.      //return>0:file size
      13.     //return=0:zero byte file or error
      14. virtual unsigned int ChoseFile(const char *file,int type)=0;
      15.  
      16.  
      17. //连接服务器
      18. virtual bool Connect(const char *host,unsigned short port)=0;
      19.  
      20.  
      21. //阻塞调用
      22. //-1:socket 错误
      23. //0:上传完成
      24. virtual int SendFile(PTransInfo info)=0;
      25.  
      26.  
      27. virtual void Stop()=0;
      28.  
      29.  
      30. virtual const char *GetError()=0;
      31.  
      32. };

用c++开发基于tcp协议的文件上传功能

标签:

原文地址:http://www.cnblogs.com/x113/p/4735426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!