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
别外,想问下:怎样实现将文件的一些信息和文件封装在一个块中,如将文件的大小 、格式等 信息和文件一起发送给服务端?
我使用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
别外,想问下:怎样实现将文件的一些信息和文件封装在一个块中,如将文件的大小 、格式等 信息和文件一起发送给服务端?
...全文
相关推荐
VB.NET 2010 演示 TCP/IP 非常简单无错的例子
这个是用委托方式演示 线程如果传递来自 客服端的数据,显示到 UI 的全过程。保证没有任何问题,供学习TCP/IP 原理的参考。
VB.NET TCP内网文件共享系统
TCP/IP协议族是互联网的基础,它采用分层的方式来组织网络通信。这种分层模型确保了网络通信的标准化、模块化,便于维护和升级。TCP/IP通常分为四层:链路层、网络层、传输层和应用层。链路层:负责处理在同一个网络上的设备之间的数据传输。它主要涉及物理硬件和数据链路协议,如以太网(Ethernet)和Wi-Fi。网络层:负责将数据包从源主机发送到目的主机。这个层主要通过互联网协议(IP)来实现,IP协议定义了数据包的格式以及如何在互联网中路由。传输层。
vb.net文件传送源码
网上找到的一些源码,发现传送文本之外的文件很难成功,基本上是接受完就打不开的,然后我根据网上的源码自己写了个,加了个验证机构,然后测试成功。
PC-西门子1500PLC的Modbus TCP/IP协议vb.net编写
modbus tcp/ip协议,vb.net(2010),pc与西门子1500PLC通讯源码,能实现读写。
vb文件传送系统源码
vb文件传送系统源码。。。


