Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 正在寻找循环的方法,直到TCP数据包的值=1_Vb.net_Tcp_Visual Studio 2019_Do Loops - Fatal编程技术网

Vb.net 正在寻找循环的方法,直到TCP数据包的值=1

Vb.net 正在寻找循环的方法,直到TCP数据包的值=1,vb.net,tcp,visual-studio-2019,do-loops,Vb.net,Tcp,Visual Studio 2019,Do Loops,我试图从静态TCP端口号触发给定函数。当端口号接收到值为1的数据包时,它将触发一个内部函数 strHostName = System.Net.Dns.GetHostName() strIPAddress = System.Net.Dns.GetHostEntry(strHostName).AddressList(0).ToString() Dim IP As System.Net.IPAddress = System.Net.IPAddress.Parse(strIPAd

我试图从静态TCP端口号触发给定函数。当端口号接收到值为1的数据包时,它将触发一个内部函数

    strHostName = System.Net.Dns.GetHostName()
    strIPAddress = System.Net.Dns.GetHostEntry(strHostName).AddressList(0).ToString()
    Dim IP As System.Net.IPAddress = System.Net.IPAddress.Parse(strIPAddress)
    Dim PortNO As Integer = 5040
    Dim MyData As String = ""
    Dim LabView_TriggerValue As Integer = 1
    Try
        Dim client As TcpClient = New TcpClient(IP.ToString, PortNO)
        Dim data As Byte() = New Byte(9998) {}
        Dim responseData As String = String.Empty
        Dim stream As NetworkStream = client.GetStream()
        stream.ReadTimeout = 1000
        Dim bytes As Int32 = stream.Read(data, 0, data.Length)
        responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
        MyData = responseData.Replace(vbCrLf, "")
        MessageBox.Show(responseData)
        'Return MyData
        Do
        Loop Until responseData = LabView_TriggerValue
        stream.Close()
        client.Close()

    Catch ex As Exception
        Label1.Text = "" & ex.Message
    End Try

我遇到了一个问题,我的Do…循环直到callout没有循环。无论端口5040上的值如何,代码都将运行。理想情况下,它应该保持循环。刷新端口5040,直到它接收到一个值为integer=1的数据包。

如果
responseData
在其中没有更改,循环怎么会有用?您可能正在寻找
wait
。也许您正在从C-heritage语言移植代码,其中赋值是一个表达式(因此,条件
responseData=labView\u TriggerValue
将同时分配和返回分配的值)?VB不以这种方式工作。在表达式上下文中,
=
是唯一的比较运算符,不分配。