// Equivalent to ServerAcceptCallback private static void ClientConnectCallback(IAsyncResult ar) { Socket client = (Socket)ar.AsyncState; client.EndConnect(ar); SendState ss = new SendState(); ss.workSocket = client; sendState = ss; RecvState rs = new RecvState(); rs.workSocket = client; recvState = rs; NetworkClock.StartCommunication(); }
// When a connection is accepted, initialize state objects then start queuing data for sending (and get ready to receive) private static void ServerAcceptCallback(IAsyncResult ar) { connectionFound = true; Socket listener = (Socket)ar.AsyncState; Socket handler = listener.EndAccept(ar); SendState ss = new SendState(); ss.workSocket = handler; sendState = ss; RecvState rs = new RecvState(); rs.workSocket = handler; recvState = rs; NetworkClock.StartCommunication(); }