private void OnReceive(IAsyncResult ar)
        {
            try
            {
                int          length    = clientSocket.EndReceive(ar);
                PacketStream ps        = new PacketStream(buffer, length);
                int          pktNumber = ps.ReadShort();

                /*if (pktNumber % 2 == 0)
                 *  important_received.Add(ps);*/
                ph.process_packet(ps, pktNumber);
                clientSocket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(OnReceive), null);
            }
            catch (SocketException ex)
            {
                ph.LogConsole("Error in socket: " + ex.Message);
            }
            catch (ObjectDisposedException ex)
            {
            }
        }