Seems like library does not handle Socket Exceptions gracefully in all cases.
If I set time span value for SendKeepAlive and connection is lost System.Net.Sockets.SocketException exception is thrown. As far as I understand, no exceptions should be thrown but OnError event should be raised?
I'm using version 2013.4.7
Thank you for your work, regards.
```
Exception: An established connection was aborted by the software in your host machine
ErrorCode: 10053
at Renci.SshNet.Session.SocketWrite(Byte[] data)
at Renci.SshNet.Session.SendMessage(Message message)
at Renci.SshNet.BaseClient.SendKeepAlive()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
```
If I set time span value for SendKeepAlive and connection is lost System.Net.Sockets.SocketException exception is thrown. As far as I understand, no exceptions should be thrown but OnError event should be raised?
I'm using version 2013.4.7
Thank you for your work, regards.
```
Exception: An established connection was aborted by the software in your host machine
ErrorCode: 10053
at Renci.SshNet.Session.SocketWrite(Byte[] data)
at Renci.SshNet.Session.SendMessage(Message message)
at Renci.SshNet.BaseClient.SendKeepAlive()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
```