Приложение, обрабатывающее данные, запрашивает данные с другого сервера, как правило, ответ мгновенный.
Один раз очень хорошо, а получение ответа занимает 4 минуты. Хост-сервер, к которому он подключается, регистрирует 4-минутный случай, на который сразу же был получен ответ. Похоже, что-то заставляет локальное приложение обрабатывать или обрабатывать ответ в течение 4 минут.
Эта проблема, по-видимому, возникает только тогда, когда в хост-системе, с которой запрашиваются данные, запускаются байты вредоносного ПО.
Вот мой код для отправки запроса данных.
Public Function GetResponse(ByVal msg As String) As String
'if calling this routine the calling routine needs to account for this throwing errors
'generally the errors thrown would be connection related
Dim tmpresponse As String = "noresponse"
Dim bWriteBuffer() As Byte = Nothing
Dim readbuffer As Byte() = New Byte(2000) {}
Dim bytesRead As Integer = 0
Using oClient As New TcpClient
bWriteBuffer = System.Text.Encoding.ASCII.GetBytes(msg)
oClient.Connect(RemoteEndPoint)
Using tmpstream As NetworkStream = oClient.GetStream
tmpstream.Write(bWriteBuffer, 0, bWriteBuffer.Length)
'//blocks until a client sends a message
bytesRead = tmpstream.Read(readbuffer, 0, 2000)
tmpresponse = System.Text.Encoding.ASCII.GetString(readbuffer)
End Using
End Using
Return tmpresponse
End Function