vb.net TCP/IP传送文件无法打开
各位大神,请指正:
我使用VB.net 使用TCP/IP在客户端和服务端传送文件时,文件能传送 过去,且大小 一致,但有时却无法打开,特别是exe文件是100%打不开,请教原因?
客户端:
Sub file_trancelate_common(logon_IP As String, file_path As String)
Dim file_socket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim endPoint As New IPEndPoint(Net.IPAddress.Parse(logon_IP), 9833) '
Dim file As FileStream = New FileStream(file_path, FileMode.OpenOrCreate, FileAccess.Read)
Dim byteArray(file.Length - 1) As Byte
Dim binaryRead As New BinaryReader(file)
binaryRead.Read(byteArray, 0, file.Length - 1)
file_socket.Connect(endPoint)
file_socket.Send(byteArray)
file.Close()
file_socket.Shutdown(SocketShutdown.Send)
file_socket.Close()
End Sub
服务端:
Sub file_load(IIP As String, pic_name As String, pic_counts As Int16, file_folder As String)
While isisrun
Dim fileStream As FileStream = New FileStream(Application.StartupPath & "\" & file_folder & "\" & pic_name, FileMode.OpenOrCreate, FileAccess.ReadWrite)
Dim byteArray(file_length) As Byte
Dim receiveSocket As Net.Sockets.Socket = file_socket.Accept()
Dim binary As New BinaryWriter(fileStream) '流写
receiveSocket.Receive(byteArray)
binary.Write(byteArray, 0, byteArray.Length - 1)
pic_tran = pic_tran + 1
If byteArray.Length - 1 = file_length Then
isisrun = False
fileStream.Close()
receiveSocket.Shutdown(SocketShutdown.Receive)
receiveSocket.Close()
End If
End While
End Sub
别外,想问下:怎样实现将文件的一些信息和文件封装在一个块中,如将文件的大小 、格式等 信息和文件一起发送给服务端?