关于VB的winsock控件传输文件后保存的文件名问题
小弟是VB新手,最近研究一下VBwinsock控件的局域网通信,现在有一个问题请吧内高手指点:我想做文件传输,是服务器/客户端模式的,服务器端可以向客户端传输文件,这是服...
小弟是VB新手,最近研究一下VBwinsock控件的局域网通信,现在有一个问题请吧内高手指点:
我想做文件传输,是服务器/客户端模式的,服务器端可以向客户端传输文件,
这是服务器端的传输代码:
Private Sub Command2_Click()
On Error GoTo errorhandle
Dim BytDate() As Byte
Dim FileName As String
Dim lngFile As Long
Dim i As Long
With CommonDialog1
.CancelError = True
.Filter = "所有文件(*.*)|*.*"
.Flags = cdlOFNNoChangeDir And cdlOFNPathMustExist
.Action = 1
End With
FileName = CommonDialog1.FileName '取得文件名及路径
lngFile = FileLen(FileName) \ 1024 '取得文件长度
For i = 0 To lngFile
ReDim myFile(1023) As Byte '初始化数组
Open FileName For Binary As #1 '打开文件
Get #1, i * 1024 + 1, myFile '将文件写入数组
Close #1 '关闭文件
Winsockserver.SendData myFile '发送
DoEvents
Next i
Exit Sub
errorhandle:
MsgBox ("你没有选择一个文件!")
End Sub
------------------------------------------------------------
以下是客户端的接收代码:
Private Sub Winsockclient_DataArrival(ByVal bytesTotal As Long)
Static i As Long
Dim myFile() As Byte
Dim myLong As Double
Dim myPath As String
myPath = App.Path & "\接收到的文件\" & "接收文件.txt" '我指定了接收到的文件都为“接收文件.txt” 怎样才能把接收到的文件与发送的文件保持一致??比如发送的文件为“123.avi”,接收到的也为“123.avi”
ReDim myFile(bytesTotal - 1) '此处也可以是(0 To bytesTotal-1)
Winsockclient.GetData myFile
Open myPath For Binary As #1 '新建文件
myLong = FileLen(myPath)
Put #1, myLong + 1, myFile '将收到的数据写入新文件中
Close #1
End Sub
问题是接收端怎样才能接收到与发送端文件名称一样文件格式也一样的文件???
具体我这个程序该怎样修改呀???
困惑好久了,希望大家多多帮忙呀!!!谢谢 展开
我想做文件传输,是服务器/客户端模式的,服务器端可以向客户端传输文件,
这是服务器端的传输代码:
Private Sub Command2_Click()
On Error GoTo errorhandle
Dim BytDate() As Byte
Dim FileName As String
Dim lngFile As Long
Dim i As Long
With CommonDialog1
.CancelError = True
.Filter = "所有文件(*.*)|*.*"
.Flags = cdlOFNNoChangeDir And cdlOFNPathMustExist
.Action = 1
End With
FileName = CommonDialog1.FileName '取得文件名及路径
lngFile = FileLen(FileName) \ 1024 '取得文件长度
For i = 0 To lngFile
ReDim myFile(1023) As Byte '初始化数组
Open FileName For Binary As #1 '打开文件
Get #1, i * 1024 + 1, myFile '将文件写入数组
Close #1 '关闭文件
Winsockserver.SendData myFile '发送
DoEvents
Next i
Exit Sub
errorhandle:
MsgBox ("你没有选择一个文件!")
End Sub
------------------------------------------------------------
以下是客户端的接收代码:
Private Sub Winsockclient_DataArrival(ByVal bytesTotal As Long)
Static i As Long
Dim myFile() As Byte
Dim myLong As Double
Dim myPath As String
myPath = App.Path & "\接收到的文件\" & "接收文件.txt" '我指定了接收到的文件都为“接收文件.txt” 怎样才能把接收到的文件与发送的文件保持一致??比如发送的文件为“123.avi”,接收到的也为“123.avi”
ReDim myFile(bytesTotal - 1) '此处也可以是(0 To bytesTotal-1)
Winsockclient.GetData myFile
Open myPath For Binary As #1 '新建文件
myLong = FileLen(myPath)
Put #1, myLong + 1, myFile '将收到的数据写入新文件中
Close #1
End Sub
问题是接收端怎样才能接收到与发送端文件名称一样文件格式也一样的文件???
具体我这个程序该怎样修改呀???
困惑好久了,希望大家多多帮忙呀!!!谢谢 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询