谁能把VB6代码翻译成VB.NET的(是文件传送的)VB6下有人用也可看看。
Public Sub SendFile(FileName As String, WinS As Winsock)
Dim FreeF As Integer '空闲的文件号
Dim LenFile As Long '文件的长度
Dim bytData() As Byte '存放数据的数组
Const iMax = 65535
Dim iPos
FreeF = FreeFile '获得空闲的文件号
Open FileName For Binary As #FreeF '打开文件
DoEvents
LenFile = LOF(FreeF) '获得文件长度
If LenFile <= iMax Then '如果要发送的文件小于数据块大小,直接发送
ReDim bytData(1 To LenFile) '根据文件长度重新定义数组大小
Get #FreeF, , bytData '把文件读入到数组里
Close #FreeF '关闭文件
WinS.SendData bytData '发送数据
Exit Sub
End If
'文件大于数据块大小,进行分块发送
Do Until (iPos >= (LenFile - iMax)) '发送整块数据的循环
ReDim bytData(1 To iMax)
Get #FreeF, iPos + 1, bytData
WinS.SendData bytData
iPos = iPos + iMax '移动iPos,使它指向下来要读的数据
Loop
'这里要注意的是,必须检查文件有没有剩下的数据,如果文件大小正好等于数据块大小的
' 整数倍,那么就没有剩下的数据了
ReDim bytData(1 To LenFile - iPos) '发送剩下的不够一个数据块的数据
Get #FreeF, iPos + 1, bytData
WinS.SendData bytData
Close #FreeF
End Sub