| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1230 人关注过本帖
标题:问题还是没有解决:VB中Wimsock传送大文件的问题——总是重复接收!
只看楼主 加入收藏
zsolong
Rank: 1
等 级:新手上路
威 望:1
帖 子:193
专家分:0
注 册:2006-12-15
收藏
 问题点数:0 回复次数:11 
问题还是没有解决:VB中Wimsock传送大文件的问题——总是重复接收!

VB中Wimsock利用UDP协议传送大文件,总是重复接收!


发送端的代码:
Private Sub cmdSendFile_Click()
Dim size() As Byte '定义一个字节数组
Dim m As Integer
Dim filenum1 As String
Dim i As Integer
ReDim size(1024) '重定义它的大小是1024字节,即每次发送1K

filenum1 = FreeFile
Open App.Path & "\1111.txt" For Binary As filenum1
m = 1
For i = 1 To LOF(filenum1) \ 1024
Get filenum1, m, size
m = 1024 * i
udpPeerA.SendData size
Next
If LOF(filenum1) > (LOF(filenum1) \ 1024) * 1000 Then
ReDim size(LOF(filenum1) - (LOF(filenum1) \ 1024) * 1024) '重定义大小,将剩余部分发送
Get filenum1, m, size
udpPeerA.SendData size
End If
Close
MsgBox "发送完成!"

End Sub


接收端的代码:
Private Sub udpPeerB_DataArrival(ByVal bytesTotal As Long)
Dim bytData() As Byte
Dim lLenFile As Long
Dim myPath As String
Dim f

f = FreeFile
myPath = VB.App.Path & "\NewFile.txt"
Open myPath For Binary As #f 'myPath是文件名
lLenFile = LOF(f)
ReDim bytData(1 To bytesTotal)
udpPeerB.GetData bytData
If lLenFile = 0 Then
Put #f, 1, bytData
Else
Put #f, lLenFile + 1, bytData
End If
Close #f
End Sub]


运行的结果是接收端总是重复接收分段发送的那第一段的数据,(因为发送端是用数组把大文件分成若干段后每次发送一段的),而除了发送的第一段的内容被重复接收外,文件剩余的其他段接收端都收不到,收到的只是第一段的数据的重复.

不知道为什么,请高手指点一下阿,感谢不尽!!!
求求啦!!!!!

[此贴子已经被作者于2006-12-27 10:03:12编辑过]

搜索更多相关主题的帖子: Wimsock 文件 
2006-12-20 16:42
zsolong
Rank: 1
等 级:新手上路
威 望:1
帖 子:193
专家分:0
注 册:2006-12-15
收藏
得分:0 
你们这些版主啊?!
唉!!
不专业啊!

2006-12-20 21:03
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
我是不懂VB中的网络...呵呵.
...你找学习VB才2天..版主吧...他比较懂VB网络编程..

我的msn: myfend@
2006-12-20 21:04
zsolong
Rank: 1
等 级:新手上路
威 望:1
帖 子:193
专家分:0
注 册:2006-12-15
收藏
得分:0 
其实这个问题时不难的,很普通的,不过想和大家交流一下,得到一些比较好的算法或者方法。看网上询问这方面问题的人还是挺多的,呵呵。

2006-12-20 21:12
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
呵呵..我比较不懂这方面...我多做mis和erp开发..

我的msn: myfend@
2006-12-20 21:13
zsolong
Rank: 1
等 级:新手上路
威 望:1
帖 子:193
专家分:0
注 册:2006-12-15
收藏
得分:0 
你也做MIS?
CIM做吗?

2006-12-20 21:14
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
不做.

我的msn: myfend@
2006-12-20 21:18
清澂居士
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:1237
专家分:7
注 册:2006-12-19
收藏
得分:0 
For i = 1 To LOF(filenum1) \ 1024
Get filenum1, m, size
m = 1024 * i
udpPeerA.SendData size
Next ....


佛曰:\"前世的500次回眸才换来今生的一次擦肩而过\".我宁愿用来世的一次擦肩而过来换得今生的500次回眸.
2006-12-20 22:11
清澂居士
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:1237
专家分:7
注 册:2006-12-19
收藏
得分:0 

至于髮送接收數組,鉨最好用別人常用的糢式````這樣寫起來比自己獨劈一條路來的容易的多`````


佛曰:\"前世的500次回眸才换来今生的一次擦肩而过\".我宁愿用来世的一次擦肩而过来换得今生的500次回眸.
2006-12-20 22:17
清澂居士
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:1237
专家分:7
注 册:2006-12-19
收藏
得分:0 

佛曰:\"前世的500次回眸才换来今生的一次擦肩而过\".我宁愿用来世的一次擦肩而过来换得今生的500次回眸.
2006-12-20 22:18
快速回复:问题还是没有解决:VB中Wimsock传送大文件的问题——总是重复接收!
数据加载中...
 
   



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

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