Winsock怎么发送大文件

abc612008 2011-06-01 12:50:52
怎么用VB的Winosck发送一个大于8KB的文件。怎么分割文件?
...全文
271 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
svch0st 2011-08-07
  • 打赏
  • 举报
回复
一个字节 一个一个的发送嘛,只不过麻烦点
abc612008 2011-06-06
  • 打赏
  • 举报
回复
ding
  • 打赏
  • 举报
回复
高度怀疑(帖子飞计划?)
abc612008 2011-06-05
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 myjian 的回复:]
UDP那不更简单么?
[/Quote]
帮个忙,我是新手
abc612008 2011-06-05
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 yiguangqiang88 的回复:]
高度怀疑(帖子飞计划?)
[/Quote]
....
abc612008 2011-06-04
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 myjian 的回复:]
真服了,我17楼不是连整套方案都给出了么?你那啥文件啊,还传不了??
[/Quote]
我是UDP......
嗷嗷叫的老马 2011-06-04
  • 打赏
  • 举报
回复
真服了,我17楼不是连整套方案都给出了么?你那啥文件啊,还传不了??
abc612008 2011-06-04
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 bestbadgod 的回复:]
socket发送文件时,跟文件的大小没有半毛钱的关系,只跟接收端有关。接收端需要判断这次(下次)接收到的数据是否还是该文件的数据,来确定是否写入文件。
[/Quote]
怎么弄?
zx092z 2011-06-04
  • 打赏
  • 举报
回复
嗷嗷叫的老马 2011-06-04
  • 打赏
  • 举报
回复
UDP那不更简单么?
倒大霉的上帝 2011-06-03
  • 打赏
  • 举报
回复
socket发送文件时,跟文件的大小没有半毛钱的关系,只跟接收端有关。接收端需要判断这次(下次)接收到的数据是否还是该文件的数据,来确定是否写入文件。
abc612008 2011-06-02
  • 打赏
  • 举报
回复
最大3M
嗷嗷叫的老马 2011-06-02
  • 打赏
  • 举报
回复
http://www.m5home.com/blog/article.asp?id=169

简单的例子.

大于100M时,需要用别的办法了.
abc612008 2011-06-02
  • 打赏
  • 举报
回复
dd = 1
FileName = pas
lngFile = FileLen(FileName) \ 8192 '取得文件长度
For Ia = 0 To lngFile
ReDim myfile(8191) As Byte '初始化数组
Open FileName For Binary As #1 '打开文件
Get #1, Ia * 8192 + 1, myfile '将文件写入数组
Close #1 '关闭文件
Winsock1.SendData myfile '发送
DoEvents
Next Ia


'''''''''''''''''''''''''''''''''''''''''''''''''''

Kill Path & "pic.bmp"

End Sub




Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim myfile As String
Winsock1.GetData myfile
Open Path & "123a.jpg" For Binary As #1 '新建文件
MyLong = FileLen(Path & "123a.jpg")
Put #1, MyLong + 1, myfile '将收到的数据写入新文件中
Close #1

End Sub
就是这个代码
abc612010 2011-06-02
  • 打赏
  • 举报
回复
dd = 1
FileName = pas
lngFile = FileLen(FileName) \ 8192 '取得文件长度
For Ia = 0 To lngFile
ReDim myfile(8191) As Byte '初始化数组
Open FileName For Binary As #1 '打开文件
Get #1, Ia * 8192 + 1, myfile '将文件写入数组
Close #1 '关闭文件
Winsock1.SendData myfile '发送
DoEvents
Next Ia


'''''''''''''''''''''''''''''''''''''''''''''''''''

Kill Path & "pic.bmp"

End Sub




Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim myfile As String
Winsock1.GetData myfile
Open Path & "123a.jpg" For Binary As #1 '新建文件
MyLong = FileLen(Path & "123a.jpg")
Put #1, MyLong + 1, myfile '将收到的数据写入新文件中
Close #1

End Sub
  • 打赏
  • 举报
回复
大侠啊,你要把你报错的代码贴出来供大家检查检查……
既然报错,怎么会没代码……
abc612008 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yiguangqiang88 的回复:]
你不会把你代码放出来给大家看看有啥错误?
你让大家猜谜呢……
[/Quote]
没代码呀!baidu了好长时间都没个能用的
abc612008 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yiguangqiang88 的回复:]
这也是大文件?
数组发送……
[/Quote]
可以具体点吗?
  • 打赏
  • 举报
回复
这也是大文件?
数组发送……
  • 打赏
  • 举报
回复
你不会把你代码放出来给大家看看有啥错误?
你让大家猜谜呢……
加载更多回复(9)

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧