예제 #1
0
 public WaitForPDProgressChangedEventArgs(PD packet, int percentage, object token)
     : base(percentage, token)
 {
     _thePD = packet;
 }
예제 #2
0
 public void sendToAllPlayer(PD pd)
 {
     lock (sendAllLock)
     {
         foreach (var item in m_clients)
         {
             try
             {
                 item.Value.SocketClient.sendPacket(pd);
             }
             catch (System.Exception ex)
             {
     #if  DEBUG
                 System.Console.WriteLine(ex.StackTrace);
     #endif
             }
         }
     }
 }
예제 #3
0
 //\todo approuver et supprimer : étant donné qu'on gère pas les retransmission en cas d'erreur il vaut mieux envoyer directement les packets sans utiliser une file
 //public void sendPacket(PD packet)
 //{
 //    lock (m_queuLock) //On protège la file contre l'écriture et la lecture en même temps
 //    {
 //        m_waitingPackets.Enqueue(packet);
 //        //queuReset.Set();
 //    }
 //}
 //private void sendAll()
 //{
 //    while (true)
 //    {
 //        lock (m_queuLock)//On protège la file contre l'écriture et la lecture en même temps
 //        {
 //            if (m_waitingPackets.Count > 0)
 //            {
 //                PD currentSendingPd = m_waitingPackets.Dequeue();
 //                currentSendingPd.marshal(new BinaryWriter(TheClient.GetStream()));
 //            }
 //        }
 //        //queuReset.WaitOne();
 //        //queuReset.Reset();
 //    }
 //}
 public void sendPacket(PD packet)
 {
     if (packet != null)
     {
         send(packet.getBytesData());
     }
 }