长期尚未解决的VB>WINSOCK文件传输

用VB>WINSOCK>TCP传文件,因为WINSOCK的缓冲区只有8000KB左右,不能装下大于8000KB的文件,所以要把文件拆开来发送,可是发送端该怎么拆文件呢?!... 用VB>WINSOCK>TCP传文件,因为WINSOCK的缓冲区只有8000KB左右,不能装下大于8000KB的文件,所以要把文件 拆开来发送,可是发送端该怎么拆文件呢?! 接受端该怎么接受文件呢! 很长时间都没有得到正确的答案 着急,那位大侠能帮帮忙? 写个测试成功的代码,而且简单一些的,越简单越好的! 谢谢! 展开
 我来答
百度网友df8fbce
2008-04-20
知道答主
回答量:7
采纳率:0%
帮助的人:17.5万
展开全部
发送端拆文件:

Open Filename For Binary Access Read As #1
Dim bytBuf(4096) As Byte
for i = 0 to NumberOfPacket
Get #1, , bytBuf()
winsockName.senddata bytBuf
doevents '让系统有时间发送数据包
next
Close #1

这里NumberOfPacket是要计算整个文件分多少个包(上面假设每个包为4096字节),注意最后一个包很可能小于4096字节,这时要用
redim bytBuf(lastPacketSize)

接收端:
在winsockName_DataArrival事件中将接收到的文件内容连起来

ReDim DataReceived(1 To bytesTotal) As Byte
winsockName.GetData DataReceived()

Open Filename For Binary Access Write As #2
Put #2, , DataReceived()
Close #2
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式