Я пытаюсь вызвать данную функцию из статического номера порта TCP. Когда номер порта получает пакет Value = 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 ... Loop До вызова не повторяется. Код выполняется независимо от значения на порте 5040. В идеале он должен продолжать циклически обновлять порт 5040 до тех пор, пока не получит пакет со значением целое число = 1.