diff --git a/SMBLibrary/Client/SMB1Client.cs b/SMBLibrary/Client/SMB1Client.cs index 89dc5c5..b277591 100644 --- a/SMBLibrary/Client/SMB1Client.cs +++ b/SMBLibrary/Client/SMB1Client.cs @@ -458,21 +458,24 @@ namespace SMBLibrary.Client buffer.SetNumberOfBytesReceived(numberOfBytesReceived); ProcessConnectionBuffer(state); - try + if (clientSocket.Connected) { - clientSocket.BeginReceive(buffer.Buffer, buffer.WriteOffset, buffer.AvailableLength, SocketFlags.None, new AsyncCallback(OnClientSocketReceive), state); - } - catch (ObjectDisposedException) - { - m_isConnected = false; - buffer.Dispose(); - Log("[ReceiveCallback] BeginReceive ObjectDisposedException"); - } - catch (SocketException ex) - { - m_isConnected = false; - buffer.Dispose(); - Log("[ReceiveCallback] BeginReceive SocketException: " + ex.Message); + try + { + clientSocket.BeginReceive(buffer.Buffer, buffer.WriteOffset, buffer.AvailableLength, SocketFlags.None, new AsyncCallback(OnClientSocketReceive), state); + } + catch (ObjectDisposedException) + { + m_isConnected = false; + buffer.Dispose(); + Log("[ReceiveCallback] BeginReceive ObjectDisposedException"); + } + catch (SocketException ex) + { + m_isConnected = false; + buffer.Dispose(); + Log("[ReceiveCallback] BeginReceive SocketException: " + ex.Message); + } } } } diff --git a/SMBLibrary/Client/SMB2Client.cs b/SMBLibrary/Client/SMB2Client.cs index 9da498b..32b1410 100644 --- a/SMBLibrary/Client/SMB2Client.cs +++ b/SMBLibrary/Client/SMB2Client.cs @@ -396,21 +396,24 @@ namespace SMBLibrary.Client buffer.SetNumberOfBytesReceived(numberOfBytesReceived); ProcessConnectionBuffer(state); - try + if (clientSocket.Connected) { - clientSocket.BeginReceive(buffer.Buffer, buffer.WriteOffset, buffer.AvailableLength, SocketFlags.None, new AsyncCallback(OnClientSocketReceive), state); - } - catch (ObjectDisposedException) - { - m_isConnected = false; - Log("[ReceiveCallback] BeginReceive ObjectDisposedException"); - buffer.Dispose(); - } - catch (SocketException ex) - { - m_isConnected = false; - Log("[ReceiveCallback] BeginReceive SocketException: " + ex.Message); - buffer.Dispose(); + try + { + clientSocket.BeginReceive(buffer.Buffer, buffer.WriteOffset, buffer.AvailableLength, SocketFlags.None, new AsyncCallback(OnClientSocketReceive), state); + } + catch (ObjectDisposedException) + { + m_isConnected = false; + Log("[ReceiveCallback] BeginReceive ObjectDisposedException"); + buffer.Dispose(); + } + catch (SocketException ex) + { + m_isConnected = false; + Log("[ReceiveCallback] BeginReceive SocketException: " + ex.Message); + buffer.Dispose(); + } } } }