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) { } }