VB2005中UDPClient 使用接收不到数据

tudouyudigua tudouyudigua 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近在做一个网络通信的测试实验,在上位机上我写了一个发送程序,在单片机上接收成果就回传一个“Test is ok”。可上位机我写的测试程序在两个上位机上都接收不到,请大家帮忙解决以下,代码如下:
发送端:
Imports System.Net
Imports System.Net.Sockets
Imports System
Imports System.Text

Public Class Form1
Public UDPClient1 As New UdpClient
Dim recudpclient As UdpClient
Public LocalIP As New IPEndPoint(IPAddress.Any, 0)
Public ThreadReceive As System.Threading.Thread

Public l As Boolean

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim s As String, s1 As String
s = System.Net.Dns.GetHostName
s1 = System.Net.Dns.Resolve(s).AddressList(0).ToString
TBID.Text = s1

'Dim ip As IPAddress = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName).AddressList.GetValue(0)

'TBID.Text = LocalIP.Address.ToString
'TBPort.Text = LocalIP.Port.ToString
TBDeID.Text = ""
TBDePort.Text = ""
RTBSendbuff.Text = ""
RTBRecbuff.Text = ""

End Sub

Private Sub Btsend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btsend.Click
Dim glIP As IPAddress
Dim GLPORT As Integer

Try
's = System.Net.Dns.GetHostAddresses

glIP = IPAddress.Parse(TBID.Text)
GLPORT = TBPort.Text
UDPClient1.Connect(glIP, GLPORT)


Dim senddata As [Byte]() = Encoding.ASCII.GetBytes(RTBSendbuff.Text)
UDPClient1.Send(senddata, senddata.Length)
UDPClient1.Close()

l = False
While (Not l)

recudpclient = New System.Net.Sockets.UdpClient(12000)

Dim deIP As IPAddress
deIP = IPAddress.Parse(TBDeID.Text)
Dim port As Integer
port = TBDePort.Text
Dim recid As New IPEndPoint(deIP, port)

Dim receiveBytes As [Byte]() = recudpclient.Receive(recid)
Dim strReturnData As String = System.Text.Encoding.Unicode.GetString(receiveBytes)
If strReturnData = "test is ok" Then
l = True
RTBRecbuff.Text = strReturnData.ToString
End If
recudpclient.Close()

End While
Catch ex As Exception
Console.WriteLine(ex.Message)
RTBRecbuff.Text = RTBRecbuff.Text & vbCrLf & ex.Message
End Try
End Sub

End Class

接收端:
Imports System.Net
Imports System.Net.Sockets
Imports System
Imports System.Text

Public Class Form1
Public UDPClient1 As New UdpClient
Dim sendudpclient As UdpClient
Public LocalIP As New IPEndPoint(IPAddress.Any, 0)
'Public ThreadReceive As System.Threading.Thread
Public l As Boolean

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim s As String, s1 As String
s = System.Net.Dns.GetHostName
s1 = System.Net.Dns.Resolve(s).AddressList(0).ToString
TBID.Text = s1

'Dim ip As IPAddress = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName).AddressList.GetValue(0)

'TBID.Text = LocalIP.Address.ToString
'TBPort.Text = LocalIP.Port.ToString
TBDeID.Text = ""
TBDePort.Text = ""


End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim glIP As IPAddress
Dim GLPORT As Integer

Try
's = System.Net.Dns.GetHostAddresses

glIP = IPAddress.Parse(TBID.Text)
GLPORT = TBPort.Text
UDPClient1 = New System.Net.Sockets.UdpClient(11000)

Dim recid As New IPEndPoint(IPAddress.Any, 0)

Dim receiveBytes As [Byte]() = UDPClient1.Receive(recid)
Dim strReturnData As String = System.Text.Encoding.Unicode.GetString(receiveBytes)
RTB1.Text = strReturnData

UDPClient1.Close()

Dim senddata As [Byte]() = Encoding.ASCII.GetBytes("Test is ok")
sendudpclient.Connect(glIP, GLPORT)
UDPClient1.Send(senddata, senddata.Length)
UDPClient1.Close()
Catch ex As Exception
Console.WriteLine(ex.Message)
RTB1.Text = RTB1.Text & vbCrLf & ex.Message
End Try
End Sub
End Class

我看了好多参考实例,都是这样的,可我的怎么收不到数呢
...全文

相关推荐

远程唤醒源代码(vb.net 2005)

使用VS 2005 中VB.Net,已经经过本人测试通过

zyx_hawk

DNS实例 VS2005 的

DNS实例 VS2005 的 获得IP地址 或者域名 一定能看懂的

missafish

mongodb-linux-x86_64-ubuntu2004-8.0.13.tgz

mongodb-linux-x86_64-ubuntu2004-8.0.13

一and一>二

chromedriver-linux64-159.0.8135.0(Canary).zip

chromedriver-linux64-159.0.8135.0(Canary).zip

LCG元

三相四桥臂电压不对称跌落补偿动态电压恢复器DVR(Simulink仿真实现)

内容概要:本文围绕三相四桥臂动态电压恢复器(DVR)在电压不对称跌落情况下的补偿能力展开,重点介绍了基于Simulink平台构建的仿真模型,用于研究和验证DVR对电网电压不平衡的动态补偿性能。系统采用三相四桥臂逆变器结构,利用其独立的中性线控制能力有效处理零序分量,结合多准PR(Proportional Resonant)控制策略实现对正负序电压分量的精确跟踪与快速响应,从而提升在不平衡负载或电网故障条件下DVR的补偿精度与系统稳定性。文中提供了完整的仿真模型及相关参考文献,涵盖控制算法设计、系统建模与参数整定等关键技术环节,适用于复杂电能质量问题的研究与教学演示。; 适合人群:电气工程、电力电子与电力系统相关专业的研究生、科研人员及从事电能质量治理的技术工程师;具备一定的电路理论、自动控制原理和Simulink仿真基础者更佳。; 使用场景及目标:①研究动态电压恢复器在三相电压不对称跌落工况下的补偿机制与控制策略;②掌握三相四桥臂逆变器在不平衡条件下的建模与控制方法;③深入理解多准PR控制器在正负序分离控制中的应用,提升对电能质量调节装置的设计与仿真能力; 阅读建议:建议结合提供的参考文献与说明文档,逐步搭建并调试Simulink仿真模型,重点关注控制器参数设计与系统动态响应特性,通过设置不同类型的电压跌落场景(如单相跌落、两相短路等)来验证控制策略的有效性与鲁棒性。

威武编程狮
评论 2
收藏 已收藏
分享
返回顶部
tudouyudigua
VB 16,718 成员 110,520 内容