⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpfile.vb

📁 编程环境VB.NET2005 多线程下载
💻 VB
字号:
Public Class HttpFile
    Public formm As New Form2
    Public threadh As Integer '线程代号
    Public filename As String '文件名
    Public strUrl As String '接收文件的URL
    Public fs As IO.FileStream
    Public request As Net.HttpWebRequest
    Public ns As System.IO.Stream
    Public nbytes() As Byte '接收缓冲区
    Public nreadsize As Integer '接收字节数
    Public Sub New(ByVal form As Form2, ByVal thread As Integer)
        Me.formm = form
        Me.threadh = thread
    End Sub
    Protected Overrides Sub Finalize() '析构方法
        'formm.Dispose()
        MyBase.Finalize()
    End Sub 'Finalize

    Public Sub receive()
        filename = formm.filenamew(threadh)
        strUrl = formm.strurl
        ns = Nothing
        nbytes = New Byte(512) {}
        nreadsize = 0
        'formm.listBox1.Items.Add("线程" + threadh.ToString() + "开始接收")
        fs = New IO.FileStream(filename, System.IO.FileMode.Create)
        Try
            request = CType(Net.HttpWebRequest.Create(strUrl), Net.HttpWebRequest)
            '接收的起始位置及接收的长度
            request.AddRange(formm.filestartw(threadh), formm.filestartw(threadh) + formm.filesizew(threadh))
            ns = request.GetResponse.GetResponseStream
            nreadsize = ns.Read(nbytes, 0, 512)
            While nreadsize > 0
                fs.Write(nbytes, 0, nreadsize)
                nreadsize = ns.Read(nbytes, 0, 512)
                '       formm.listBox1.Items.Add("线程" + threadh.ToString() + "正在接收")
            End While
            fs.Close()
            ns.Close()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            fs.Close()
        End Try
        'formm.listBox1.Items.Add("进程" + threadh.ToString() + "接收完毕!")
        formm.threadw(threadh) = True
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -