TCPIP流可以读取
我正在从unix服务器发送和接收消息,一切正常并按预期工作…除非我没有从服务器收到响应,我可以确认服务器确实收到了我的消息,但无论出于何种原因,它们都没有响应。 我在阅读时使用了下面的代码,它到达numberOfBytesRead=并挂断了我的应用程序TCPIP流可以读取,tcp,Tcp,我正在从unix服务器发送和接收消息,一切正常并按预期工作…除非我没有从服务器收到响应,我可以确认服务器确实收到了我的消息,但无论出于何种原因,它们都没有响应。 我在阅读时使用了下面的代码,它到达numberOfBytesRead=并挂断了我的应用程序 If serverStream.CanRead Then Dim myReadBuffer As Byte() = New Byte(1024) {} Dim m
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
我只需要一个serverStream.ReadTimeOut=bla bla bla bla bla TYVM
MW我不确定您是指挂起(无限期等待)还是挂起(突然关闭)。在阻塞i/o时,如果服务器确认发送的数据但不发送回任何新数据,则读取可能永久挂起。如果读操作通过不确认发送的数据或发送重置来被动关闭连接,也可能导致读操作返回错误。抱歉,无限期等待,我知道为什么我没有收到响应,对此我无能为力,我只需要处理根本没有得到任何回复的问题,而不是等待不会出现的响应。