我用socket传送文件,想传送的文件内容有:文件名,文件内容信息,传文件名可以在接受端以发送的文件名和文件格式来保存,在网上看到有人在问,不过都没有给出具体例子,希望能有具体例子,谢谢 最好是VB写的.

解决方案 »

  1.   

    ‘发送代码Public Function outFiles(filePath As String)    Dim outFile() As Byte    Dim outPath As String    Dim outFileLen As Double    Dim outFileStar As Double    Dim lngN As Double    Dim outN As Double    Dim outFree As Long    Dim i As Long        '检查是否与服务器连接    If wskCPost.State = 7 Then        outPath = filePath            outFileLen = FileLen(outPath)        outN = outFileLen \ 7000 + 1                objJD.Max = outN        dblJD = 0        objJD.Value = 0            For i = 0 To outN - 1            objJD.Value = i            If i = outN - 1 Then                lngN = outFileLen - outFileStar +   1            Else                lngN = 7000            End If             ReDim outFile(1 To lngN)            If outFileStar = 0 Then outFileStar = 1            outFree = FreeFile            Open outPath For Binary As #outFree            Get #outFree, outFileStar, outFile            Close #outFree            outFileStar = outFileStar + UBound(outFile)             wskCPost.SendData outFile            DoEvents        Next    End If        End Function‘接收代码‘-----------------------------------------------------------------------------------------------------'接收二进制文件            myPath = VB.App.Path & "\tmpFiles\" & listenN(index).fileName            ReDim inFile(bytestotal)            wskSPost(index).GetData inFile, vbArray + vbByte             myFree = FreeFile            Open myPath For Binary As #myFree  '新建或打开文件            '将收到的数据写入新文件中            listenN(index).infileLen = fileLen(myPath) + 1            Put #myFree, listenN(index).infileLen, inFile            Close #myFree                                  '关闭            '记录文件长度             If fileLen(myPath) + 1 >= listenN(index).fileLen Then                '接收完成,将接收类型改为字符型                listenN(index).fileLX = 0                listenN(index).fileLen = 0                listenN(index).infileLen = 0                wskSPost(index).SendData "endf"  '文件接收完毕,向客户端发送确认            End If‘----------------------------------------------------------------------------------------------------