我用winsock编传送文件的程序时,总是发现除了文本文件能成功传送外,其他文件格式传送均出现传送文件不全导致不能使用,且传送的这些坏文件又不能删除(重新启动后也不能删除),不知道为什么?
请问各位朋友 1,如何用winsock传送任何格式任何大小的文件,最好有源码
2,如何删除顽固的文件
在此谢谢了!
请问各位朋友 1,如何用winsock传送任何格式任何大小的文件,最好有源码
2,如何删除顽固的文件
在此谢谢了!
解决方案 »
- 郁闷的问题!!!!!!!!!!!!
- 在PictureBox控件画图,设定背景色为绿色,用灰色在上面画出网格,再用浅黄色在上面画图,我想再次用浅黄色画同一个图形,就把原来的图形
- 如何在同一个数据表内将选定的记录复制到新添加的记录中?
- 如何快速得到别的程序中的另一个子类窗口的句柄?
- 简单问题.(回车换行符是什么?)
- 如何判断当前的操作系统是win98 or win2000 or winXP呢?
- 16进制数转换为图片的问题,很着急很急
- 如何查找目录下的一个文件
- 一事困惑。大家来帮忙!!
- 在执行程序过程中,如何让FILELISTBOX显示指定的文件!!!!!!!!
- 请问listbox怎样让它正常实现横向滚动条
- 我怎么老是不能建立EVB安装程序啊?
1.你要用二进制方式来接收 vbArray + vbByte,而不像发送文本文件那样用 vbString
2.大文件要分次发送,一次最大只能8000k
Option Explicit
Dim k As Integer
Dim sum As LongPrivate Sub Form_Load()
sum = 1
End Sub
Private Sub udpPeerB_DataArrival(ByVal bytesTotal As Long)
Dim strData() As Byte
udpPeerB.GetData strData, vbByte
Open App.Path & "\5.bmp" For Binary As #2
k = UBound(strData) + 1
Put #2, sum, strData
sum = sum + k
Close #2
End Sub
'发送端Option ExplicitPrivate Sub Command1_Click()
Dim L As Long
Dim i As Long
Dim arr() As Byte
Open App.Path & "\1.bmp" For Binary As #1
L = LOF(1)
ReDim arr(1 To 4096) As Byte
For i = 0 To Int(L / 4096) - 1
DoEvents
Get #1, i * 4096 + 1, arr
udpPeerA.SendData arr
Next
DoEvents
If L Mod 4096 <> 0 Then
Dim k As Integer
k = L Mod 4096
ReDim arr(1 To k)
Get #1, L - k + 1, arr
udpPeerA.SendData arr
End If
Close #1
End Sub