概述
今天我们来分享一下通过winsock控件,端口传输文件,以及如何确定传输完成标志。
文件传输完成标志的确定是通过三次握手来确定的,首先,客户端现将文件的长度发送给服
务器端,当服务器端受到文件长度之后,进入接受文件状态,同时返回一个“send”信
号给客户端。当客户端受到“send”后,再将文件发送服务器。服务器通过接收数据的
大小来计算文件是否发送完毕。下面让我们来看一下代码吧。
服务器端:
Private Sub scksever_DataArrival(Index As Integer, ByVal bytesTotal As Long)
'On Error GoTo err3
Dim sData, strData As String
If zhi = 0 Then
scksever(Index).GetData strData
sData = Left$(strData, 3)
If sData = "str" Then
wenlong = Right$(strData, Len(strData) - 3)
zhi = 100 '接收文件
scksever(Index).SendData "send"
End If
Else
strFileName = "D:/nan/00469292.zip"
Dim bytData() As Byte
Dim lLenFile As Long
Dim f
f = FreeFile()
Open strFileName For Binary As #f '/'strFileName是文件名
lLenFile = LOF(f)
ReDim bytData(1 To bytesTotal)
scksever(Index).GetData bytData
If lLenFile = 0 Then '/'lLenFile=0表示是第一次打开文件
Put #f, 1, bytData
Else
Put #f, lLenFile + 1, bytData
End If
Close #f
jia = jia + bytesTotal
If jia = wenlong Then
txtSql.Text = txtSql.Text & "发送完毕"
’这时文件就发送完成了,你可以在这里进行文件完成的其他操作。
End If
'
End If
End Sub
最后
以上就是失眠心锁为你收集整理的vb socket通信 大文件端口上传(2)的全部内容,希望文章能够帮你解决vb socket通信 大文件端口上传(2)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复