Beispiel #1
0
 /// <summary>
 /// Processus background qui traite les messages à l'infini
 /// </summary>
 private void BackgroundThradProcess()
 {
     while (true)
     {
         if (this.terminate)
         {
             break;
         }
         this.mre.Reset();
         if (this.elementsDiffusion.Count >= 0)
         {
             ElementDiffusion ed = null;
             if (this.elementsDiffusion.TryDequeue(out ed))
             {
                 this.DiffuserMessage(ed);
             }
         }
         else if (this.elementsFTP.Count >= 0)
         {
             ElementFTP element = null;
             if (this.elementsFTP.TryDequeue(out element))
             {
                 this.DiffuserFTP(element);
             }
         }
         else
         {
             this.mre.WaitOne(300000);
         }
     }
 }
Beispiel #2
0
// empile un message afin de l'envoyer vers FTP via bluetooth
        public void SendMessageBluetoothVersFTP(string pathFTP, string contenuFTP)
        {
            ElementFTP e = new ElementFTP();

            e.CheminFTP   = pathFTP;
            e.Message     = contenuFTP;
            e.SiteFTP     = ParamCommuns.Instance.SiteFTP;
            e.UsagerFTP   = ParamCommuns.Instance.UsagerFTP;
            e.MotPasseFTP = ParamCommuns.Instance.MotPasse;
            this.elementsFTP.Enqueue(e);
            this.mre.Set();
            //Messenger.Default.Send<ElementFTP>(e);
        }
Beispiel #3
0
        //private BluetoothEndPoint bep = null;

        private void DiffuserFTP(ElementFTP ed)
        {
            //lock (this.boquant)
            //{
            try
            {
                //this.globalClient.Client.Close();
                using (BluetoothClient bluetoothClient = new BluetoothClient())
                {
                    var ep = new BluetoothEndPoint(this.dev.DeviceInfo.DeviceAddress, _serviceClassId);

                    bluetoothClient.Connect(ep);

                    using (var bluetoothStream = bluetoothClient.GetStream())
                    {
                        using (MemoryStream ms = new MemoryStream())
                        {
                            this.ser1.WriteObject(ms, ed);
                            int    longueur     = (int)ms.Length;
                            byte[] bx           = BitConverter.GetBytes(longueur);
                            int    longueurTest = bx.Length;
                            bluetoothStream.Write(bx, 0, 4);
                            byte[] sender = ms.GetBuffer();
                            int    depart = 0;
                            while (longueur > 0)
                            {
                                if (longueur >= 1024)
                                {
                                    bluetoothStream.Write(sender, depart, 1024);
                                    bluetoothStream.Flush();
                                    depart   += 1024;
                                    longueur -= 1024;
                                }
                                else
                                {
                                    bluetoothStream.Write(sender, depart, longueur);
                                    bluetoothStream.Flush();
                                    longueur = 0;
                                }
                            }
                        }
                    }
                }
                ////////////this.globalClient.Dispose();
                ////////////this.globalClient = null;
                ////////////if (this.globalClient == null)
                ////////////{
                ////////////    this.globalClient = new BluetoothClient();
                ////////////    var ep = new BluetoothEndPoint(this.dev.DeviceInfo.DeviceAddress, _serviceClassId);
                ////////////    this.globalClient.Connect(ep);
                ////////////    this.globalStream = this.globalClient.GetStream();
                ////////////}
                //////////////this.globalStream.Close();
                //////////////this.globalStream = this.globalClient.GetStream();
                ////////////using (MemoryStream ms = new MemoryStream())
                ////////////{
                ////////////    this.ser1.WriteObject(ms, ed);
                ////////////    int longueur = (int)ms.Length;
                ////////////    byte[] bx = BitConverter.GetBytes(longueur);
                ////////////    int longueurTest = bx.Length;
                ////////////    globalStream.Write(bx, 0, 4);
                ////////////    byte[] sender = ms.GetBuffer();
                ////////////    int depart = 0;
                ////////////    while (longueur > 0)
                ////////////    {
                ////////////        if (longueur >= 1024)
                ////////////        {
                ////////////            globalStream.Write(sender, depart, 1024);
                ////////////            globalStream.Flush();
                ////////////            depart += 1024;
                ////////////            longueur -= 1024;
                ////////////        }
                ////////////        else
                ////////////        {
                ////////////            globalStream.Write(sender, depart, longueur);
                ////////////            globalStream.Flush();
                ////////////            longueur = 0;
                ////////////        }
                ////////////    }


                ////////////}


                //using (BluetoothClient bluetoothClient = new BluetoothClient())
                //{

                //    var bep = new BluetoothEndPoint(this.dev.DeviceInfo.DeviceAddress, _serviceClassId);


                //    // connecting
                //    bluetoothClient.Connect(bep);

                //    using (var bluetoothStream = bluetoothClient.GetStream())
                //    {
                //        using (MemoryStream ms = new MemoryStream())
                //        {
                //            this.ser1.WriteObject(ms, ed);
                //            var buffer = ms.GetBuffer();
                //            bluetoothStream.Write(buffer, 0, buffer.Length);
                //            bluetoothStream.Flush();
                //            bluetoothStream.Close();
                //        }
                //    }
                //}
            }
            catch (Exception e)
            {
                Console.WriteLine("Erreur de messagerie" + e.ToString());
            }
            //}
        }