Notify delegate with explicit error when user disconnects socket

Now in the delegate callback we can distinguish 'disconnection' error from any other and silently ignore it if necessary.