private void CloseConnectionCallback(IAsyncResult ar) { int sent = 0; try { sent = sender.EndSend(ar); } catch (Exception e) { WriteLog(LogStrings.ExceptionWasThrown(e)); return; } WriteLog(LogStrings.BytesWereSuccessfulySent(sent)); WriteLog(LogStrings.CloseSocket()); try { sender.Shutdown(SocketShutdown.Both); sender.Close(); } catch (Exception e) { WriteLog(LogStrings.ExceptionWasThrown(e)); } senderSema.Release(); }
private void SendCallback(IAsyncResult ar) { Socket sender = (Socket)ar.AsyncState; int bytesSent = 0; try { bytesSent = sender.EndSend(ar); } catch (Exception e) { WriteLog(LogStrings.ExceptionWasThrown(e)); return; } WriteLog(LogStrings.BytesWereSuccessfulySent(bytesSent)); StateObject state = new StateObject(); state.workSocket = sender; WriteLog(LogStrings.WaitingToReceiveMessageFromServer()); sender.BeginReceive(state.buffer, 0, state.buffer.Length, 0, new AsyncCallback(ReceiveCallback), state); }