TCPIP поток может читать - PullRequest
0 голосов
/ 23 марта 2020

Я отправляю и получаю сообщения с сервера unix, все в порядке и работает как положено ... за исключением случаев, когда я не получаю ответ от сервера, я могу подтвердить, что сервер получил мое сообщение, но для любого причина их конец они не отвечают. Я использую приведенный ниже код при чтении, он попадает в numberOfBytesRead = и зависает мое приложение.

If serverStream.CanRead Then

                    Dim myReadBuffer As Byte() = New Byte(1024) {}

                    Dim myCompleteMessage As StringBuilder = New StringBuilder()

                    Dim numberOfBytesRead As Integer = 0



                    Do

                        numberOfBytesRead = serverStream.Read(myReadBuffer, 0, myReadBuffer.Length)

                        If My.Settings.initCompassLive Then

                            myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead))

                        Else

                            myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 2, numberOfBytesRead))

                        End If

                    Loop While serverStream.DataAvailable

                     ' MsgBox("You received the following message : " + myCompleteMessage.ToString)

                    returndata = myCompleteMessage.ToString

                Else

                    MsgBox("Aauth Request Failed: " & returndata)

                    Exit Sub

                End If

1 Ответ

1 голос
/ 23 марта 2020

Мне просто нужно было serverStream.ReadTimeOut = бла бла бла

TYVM MW

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...