vb.net用socket发送大量数据给单片机stm32F4,速度只有3M字节/秒,有什么办法可以提高到10M字节/秒吗
vb.net用socket发送大量数据给单片机stm32F4,速度只有3M字节/秒,有什么办法可以提高到10M字节/秒吗,因为我也一个单片机发,一个单片机收,速度可以做到10M字节/秒,单片机接收是可以处理过来的,网络方面需要怎么配置,这是我的上位机代码
Imports System.Net.Sockets
'使用到TcpListen类
Imports System.IO
'使用到StreamWriter类
Imports System.Net
'使用IPAddress类、IPHostEntry类等
Imports System.Threading
Public Class Form1
Private swWriter As StreamWriter
'用以向网络基础数据流传送数据
Private nsStream As NetworkStream
'创建发送数据的网络基础数据流
Dim tcpClient1 As TcpClient
'通过它实现向远程主机提出TCP连接申请
Private tcpConnect As Boolean = False
'定义标识符,用以表示TCP连接是否建立
'Private s = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
' Dim bytes(1024) As Byte ' 用来存储接收到的字节
' Dim ss As Socket = s.Accept() '若接收到,则创建一个新的Socket与之连接
Dim fa(0 To 29200 - 1) As Byte
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ipRemote As IPAddress
Dim tcpClient As TcpClient
Try
ipRemote = IPAddress.Parse(TextBox1.Text)
Catch
MessageBox.Show("输入的IP地址不合法!", "错误提示!")
Return
'判断给定的IP地址的合法性
End Try
Try
tcpClient = New TcpClient(TextBox1.Text, 8088)
'对远程主机的8000端口提出TCP连接申请
nsStream = tcpClient.GetStream()
'通过申请,并获取传送数据的网络基础数据流
swWriter = New StreamWriter(nsStream)
'使用获取的网络基础数据流来初始化StreamWriter实例
Button1.Enabled = False
Button2.Enabled = True
tcpConnect = True
StatusBar1.Text = "已经连接!"
Catch
MessageBox.Show("无法和远程主机8089端口建立连接!", "错误提示!")
Return
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim i As Integer
Dim a As Byte = 1
' Dim tcpClient As TcpClient
For i = 0 To 29200 - 1
fa(i) = 3
Next
Call sample0()
End Sub
Private Sub Form1_Disposed(sender As Object, e As System.EventArgs) Handles Me.Disposed
If tcpConnect Then
swWriter.WriteLine("STOP")
'发送控制码
swWriter.Flush()
'刷新当前数据流中的数据
nsStream.Close()
swWriter.Close()
'清除资源 ( )
End If
tcpClient1.SendBufferSize = 29200
If Disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(Disposing)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
tcpClient1.SendBufferSize = 29200
End Sub
Sub sample0()
Dim sample0_Thread As New Thread(AddressOf sample0_printI)
tcpClient1 = New TcpClient
tcpClient1.SendBufferSize = 29200
sample0_Thread.Start()
TextBox3.Text = tcpClient1.SendBufferSize
' Console.Write("End")
End Sub
Sub sample0_printI()
Dim a As Integer = 1
Try
Do
nsStream.Write(fa, 0, 29200)
swWriter.Flush()
Loop While a = 1
Catch
MessageBox.Show("无法和远程主机8089端口建立连接!", "错误提示!")
Return
End Try
End Sub
End Class