我是靠谱客的博主 失眠心锁,最近开发中收集的这篇文章主要介绍vb socket通信 大文件端口上传(2),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天我们来分享一下通过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)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部