|
Hi Kerry, hopefully you will be able to help.
We have Android clients connecting to an Azure hosted WSS Server. We are seeing a lot of errors getting logged through the ILogger looking like this:
Unable to read data from the transport connection: Cannot access a disposed object.Object name: 'System.Net.Sockets.Socket'..SuperSocket.SocketBase.Exceptions.SocketSessionException: Unable to read data from the transport connection: Cannot access a disposed
object.Object name: 'System.Net.Sockets.Socket'.. ---> System.IO.IOException: Unable to read data from the transport connection: Cannot access a disposed object.Object name: 'System.Net.Sockets.Socket'.. ---> System.ObjectDisposedException: Cannot
access a disposed object.Object name: 'System.Net.Sockets.Socket'. at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult, SocketError& errorCode) at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
--- End of inner exception stack trace --- at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult) at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result) at
SuperSocket.SocketEngine.AsyncStreamSocketSession`2.OnBeginInitStream(IAsyncResult result) --- End of inner exception stack trace ---Unable to read data from the transport connection: Cannot access a disposed object.Object name: 'System.Net.Sockets.Socket'..System.IO.IOException:
Unable to read data from the transport connection: Cannot access a disposed object.Object name: 'System.Net.Sockets.Socket'.. ---> System.ObjectDisposedException: Cannot access a disposed object.Object name: 'System.Net.Sockets.Socket'. at
System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult, SocketError& errorCode) at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult) --- End of inner exception stack trace --- at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult
lazyResult) at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result) at SuperSocket.SocketEngine.AsyncStreamSocketSession`2.OnBeginInitStream(IAsyncResult result)Cannot access a disposed object.Object name: 'System.Net.Sockets.Socket'.System.ObjectDisposedException:
Cannot access a disposed object.Object name: 'System.Net.Sockets.Socket'. at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult, SocketError& errorCode) at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
On the surface, this looks like the server has been unable to complete reading data sent from the client due to the object disposed error. Under what circumstances could this error occur. Sadly I don't have an line numbers as this is a release build.
We are also seeing a lot of error logs like this, where we reading out the session id and closing it down:
Session: 75b35e35-feca-4419-ae76-160b9afbc08a/174.252.185.204:8399ExceptionDetails: System.IO.IOException: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period
of time, or established connection failed because connected host has failed to respond. ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established
connection failed because connected host has failed to respond at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult) --- End of inner exception stack trace --- at System.Net.Security._SslStream.EndRead(IAsyncResult
asyncResult) at SuperSocket.SocketEngine.AsyncStreamSocketSession`2.OnStreamEndRead(IAsyncResult result)
Are these were the client could have terminated the connection without using the websocket protocol (by unpluging a network cable of wlaking out of wi-fi reach)??
We are currently using build 73081 of SuperSocket and build 73082 of SuperWebSockets.
Thanks
|