DanJourno
asked on
VB.Net Socket not Blocking
Hi,
I've written some code which is supposed to block when socket.receive is called, however it doesnt block when no data is available.
Any idea why its not blocking?
Thanks
Dan
I've written some code which is supposed to block when socket.receive is called, however it doesnt block when no data is available.
Public Function ReadLine() As String
Dim IncomingData() As Byte = New Byte(4095) {}
Dim IncomingString As String
Dim ResultString As String
Dim ByteCount As Integer
tcpConnection.Blocking = True
If InStr(InputBuffer, vbCrLf) > 0 Then
ResultString = InputBuffer.Substring(0, InputBuffer.IndexOf(vbCrLf))
InputBuffer = InputBuffer.Substring(InputBuffer.IndexOf(vbCrLf) + 2)
Return ResultString
End If
ByteCount = tcpConnection.Receive(IncomingData)
ReDim Preserve IncomingData(ByteCount - 1)
IncomingString = Encoding.ASCII.GetString(IncomingData)
InputBuffer = InputBuffer & IncomingString
If InStr(InputBuffer, vbCrLf) > 0 Then
ResultString = InputBuffer.Substring(0, InputBuffer.IndexOf(vbCrLf))
InputBuffer = InputBuffer.Substring(InputBuffer.IndexOf(vbCrLf) + 2)
Return ResultString
Else
Return Nothing
End If
End Function
Any idea why its not blocking?
Thanks
Dan
Have you stepped through the code to see if it is reaching line 16?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Found the solution myself.
Sorry for asking, but, what do you mean by "block"?
Giannis