you really just have to roll your own state property code. It is just a matter of setting it in your class to whatever value is appropriate when appropriate.
From some code I got, if the server receives data at 0 length then it is disconnected. It looked like this
Code:
Private Sub DoStreamReceive(ByVal ar As IAsyncResult)
Dim intCount As Integer
Try
SyncLock mobjClient.GetStream
intCount = mobjClient.GetStream.EndRead(ar)
End SyncLock
If intCount < 1 Then
' Socket has disconnected
Exit Sub
End If
I hope that helps you out