public void OnCommHandle() { if (State.Count <= 0) { throw new EmptyStateException("Client doesn't have any state"); } AState state = State.Peek(); try { byte[] buffer = new byte[1024]; int len = Socket.Receive(buffer); if (len == 0) { Kill(); return; } state.ReadPacket(this, buffer, len); } catch (Exception e) { Alive = false; } }