public static void AcceptCallback(IAsyncResult ar) { Server.allDone.Set(); try { Socket listener = (Socket)ar.AsyncState; Socket socket = listener.EndAccept(ar); ServerState state = new ServerState(); state.socket = socket; state.serverKey = ServerCrypto.serverKey; Console.WriteLine("Connection from {0} ...", socket.RemoteEndPoint.ToString()); Client client = new Client(state); client.StartClient(); client.state.serverState = state; state.clientState = client.state; socket.BeginReceive(state.buffer, 0, State.BufferSize, 0, new AsyncCallback(Protocol.ReceiveCallback), state); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
public static void AcceptCallback(IAsyncResult ar) { allDone.Set(); try { Socket listener = (Socket)ar.AsyncState; Socket socket = listener.EndAccept(ar); ServerState state = new ServerState(); state.socket = socket; state.serverKey = ServerCrypto.serverKey; Console.WriteLine("[INFO] Connection from {0} ...", socket.RemoteEndPoint.ToString()); Client client = new Client(state); client.StartClient(); client.state.serverState = state; state.clientState = client.state; socket.BeginReceive(state.buffer, 0, State.BufferSize, 0, new AsyncCallback(Protocol.ReceiveCallback), state); } catch (Exception e) { Console.WriteLine(e.ToString()); } }