Beispiel #1
0
        public void OnVote(string data)
        {
            Regex voteregex = new Regex("(?<actor>[^,]+),(?<victim>.+)");
            Match m         = voteregex.Match(data);

            if (m.Success)
            {
                try
                {
                    int actor  = Int32.Parse(m.Groups["actor"].Value);
                    int victim = Int32.Parse(m.Groups["victim"].Value);

                    foreach (Client cl in otherClients) // if any of the online clients is voted, vote him back!
                    {
                        if (cl.getPacketHandler().getLocalId() == victim)
                        {
                            ph.send_vote(actor);
                        }
                    }
                }
                catch (Exception ex)
                {
                    ph.LogConsole(ex.Message);
                }
                //
            }
        }
        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)
            {
            }
        }