| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 434 人关注过本帖
标题:[求助]关于文件传送问题
只看楼主 加入收藏
abc5566
Rank: 1
等 级:新手上路
帖 子:201
专家分:0
注 册:2007-9-15
结帖率:100%
收藏
 问题点数:0 回复次数:2 
[求助]关于文件传送问题
请教大家:
如何在vb中实现局域网文件传送
搜索更多相关主题的帖子: 文件 
2007-11-16 01:23
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
用Winsock,TCP协议传送,确认连接成功后,可用下面的函数进行传送与接收
'这两个函数实现了winsock控件传送和接收文件的功能,最大能传送 524288G文件,但传超大文件时实际效率比较_低,传送文件基本思路是以二制模式分块传递,系统资源占用高,可以稍微修改实现多线程传送
Const Max As Long = 65534 '每次最大传送数据
Dim SendPos As Double '发送数据位置
Dim RecPos As Double '接收数据位置(此二变量可实现断点续传)
Sub SendFile(FileName As String, Wnk As Winsock)
Static iPoss As Double '当前发送位置
Dim SendData() As Byte '二进制数据
Dim Length As Double '记录文件长度
Dim FileNum As Integer
FileNum = FreeFile '获得文件号
Length = FileLen(FileName) '获得文件长度
Open FileName For Binary As FileNum
DoEvents
If Length <= Max Then
ReDim SendData(1 To Length)
Get FileNum, , SendData
Wnk.SendData SendData
Else
While iPos <= Length - Max
ReDim SendData(1 To Max)
Get FileNum, iPos + 1, SendData
Wnk.SendData SendData
iPos = iPos + Max
Wend
End If
ReDim SendData(Length - iPos - 1) '此处注意要-1,否则不会成功!
Get FileNum, iPos + 1, SendData
Wnk.SendData SendData
Close FileNum
Debug.Print FileLen(FileName)
End Sub
'==============================================================
'==============================================================
Sub ReceiveData(FileName As String, Wnk As Winsock, Lens As Long) '接收数据
Dim RecData() As Byte
Dim Length As Double
Dim FileNum As Integer
FileNum = FreeFile
Open FileName For Binary As FileNum
Length = FileLen(FileName)
ReDim RecData(1 To Lens)
Wnk.GetData RecData
Put FileNum, Length + 1, RecData
Close FileNum
End Sub

2007-11-16 07:01
abc5566
Rank: 1
等 级:新手上路
帖 子:201
专家分:0
注 册:2007-9-15
收藏
得分:0 
请问不用设置客户端和服务端吗?
2007-11-17 00:08
快速回复:[求助]关于文件传送问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021811 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved