CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  网络编程

文件传输

楼主suyi302(suyi302)2005-02-24 11:03:45 在 VB / 网络编程 提问

在局域网里需要多台计算机将文件传输给一台server,有可能文件会很大,应该使用何种方式。  
  详细,最好有代码! 问题点数:30、回复次数:8Top

1 楼viena(维也纳N02)回复于 2005-02-24 11:09:34 得分 0

用Winsock控件吧Top

2 楼xayzmb(行者)回复于 2005-02-24 11:51:14 得分 25

用winsock控件,基于TCP/IP进行文件传送  
   
  Private   Sub   cmdSend_Click()  
          '向服务器发送文件  
          Dim   myFile()   As   Byte  
          Dim   lngFile   As   Long         '文件长度  
          Dim   FileName   As   String   '文件名称  
          Static   i   As   Single  
           
          sockClient.Close  
          sockClient.Connect  
           
          Do  
                  DoEvents  
                  If   sockClient.State   =   sckConnected   Then  
                          Exit   Do  
                  Else  
                          i   =   i   +   1  
                          If   i   >   200000   Then  
                                  Dim   box   As   String  
                                  box   =   MsgBox("是否放弃?",   vbYesNo,   "连接失败:")  
                                  If   box   =   vbYes   Then  
                                          i   =   0  
                                          Exit   Do  
                                  Else  
                                          i   =   0  
                                  End   If  
                          End   If  
                  End   If  
                  DoEvents  
          Loop  
          lenth   =   0  
          '检查是否与服务器连接  
          If   sockClient.State   =   sckConnected   Then  
   
                  FileName   =   VB.App.Path   &   "\1.jpg"     '取得文件名及路径  
                  lngFile   =   FileLen(FileName)                 '取得文件长度  
                  ReDim   myFile(lngFile   -   1)   As   Byte     '初始化数组  
                   
                  Open   FileName   For   Binary   As   #1           '打开文件  
                  Get   #1,   ,   myFile                                       '将文件写入数组  
                  Close   #1                                                       '关闭文件  
   
                  sockClient.SendData   myFile                       '发送  
   
          Else  
                  MsgBox   "没有连接"  
          End   If  
  End   Sub  
   
   
   
   
   
   
  Private   Sub   sockServer_DataArrival(Index   As   Integer,   ByVal   bytesTotal   As   Long)  
          '接收文件  
          Static   i   As   Long  
          Dim   myFile()   As   Byte  
          Dim   myLong   As   Double  
          Dim   myPath   As   String  
          myPath   =   VB.App.Path   &   "\a.doc"  
          cmdC.Caption   =   "正在接收数据...   "   &   bytesTotal  
          ReDim   myFile(0   To   bytesTotal   -   1)   '此处也可以是(0   To   bytesTotal-1)  
           
          sockServer(Index).GetData   myFile  
          i   =   i   +   1  
       
          Open   myPath   For   Binary   As   #1   '新建文件  
          Put   #1,   lenth   +   1,   myFile                                         '将收到的数据写入新文件中  
          Close   #1                                                                           '关闭  
          '记录文件长度  
          lenth   =   lenth   +   UBound(myFile)   -   LBound(myFile)   +   1  
           
  End   Sub  
   
   
  Top

3 楼xayzmb(行者)回复于 2005-02-24 11:52:27 得分 0

myPath   =   VB.App.Path   &   "\a.doc"  
  这一句改成:  
  myPath   =   VB.App.Path   &   "\a.jpg"  
  要示然文件格式不对Top

4 楼tiaoci(我挑刺,我快乐)回复于 2005-02-24 11:57:11 得分 0

copy   c:\data.dat   \\server\shared\data.datTop

5 楼tiaoci(我挑刺,我快乐)回复于 2005-02-24 11:57:47 得分 0

局域网么,吃多了写socketTop

6 楼santafrancesco()回复于 2005-03-01 20:09:22 得分 3

好像socket传输文件大小不能超过8k,不然的话后面的8k会把前面的8k覆盖掉,不知道上面的程序又没有这样的问题。Top

7 楼xiaohuangtao(绿毛网虫)回复于 2005-03-03 13:04:25 得分 0

http://www.smartmaildemo.com有代码Top

8 楼susususu()回复于 2005-03-17 13:57:49 得分 2

upTop

相关问题

  • 传输文件
  • 文件传输
  • 传输文件???
  • 文件传输
  • 文件传输!
  • 文件传输
  • Winsock文件传输!!!
  • UDP传输文件
  • Winsock如何传输文件?
  • 网上文件传输

关键词

  • 文件
  • 连接
  • sockclient
  • lngfile
  • myfile
  • filename
  • box
  • dim
  • then
  • else

得分解答快速导航

  • 帖主:suyi302
  • xayzmb
  • santafrancesco
  • susususu

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo