public SystemCalculateur(InterfaceCalculateur interf)
 {
     this.serializer = new ObjectSerializer();
     this.getAdress  = new GetLocalAddress();
     this.interf     = interf;
     this.interf.BtnAppareillage.Click += new RoutedEventHandler(onClickAppareillage);
 }
Exemple #2
0
        public void StartListening()
        {
            // Tableau de Byte pour la réception de données
            byte[] bytes = new Byte[1024];

            // Créé l'IPEndPoint pour le socket avec l'adresse de ce poste sur le port 80
            IPHostEntry     ipHostInfo = Dns.GetHostEntry(Dns.GetHostAddresses(Dns.GetHostName())[0]);
            GetLocalAddress address    = new GetLocalAddress();
            IPAddress       ipAddress;

            if (IPAddress.TryParse(address.GetAddress(), out ipAddress))
            {
            }
            else
            {
                // Quitte la méthode sinon
                return;
            }

            IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 80);

            // Créé le socket TCP/IP
            Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            // Charge le socket avec l'IPEndPoint et écoute les connexions
            try
            {
                listener.Bind(localEndPoint);
                listener.Listen(100);

                while (true)
                {
                    // Remet à zéro l'écoute d'évenement
                    allDone.Reset();

                    // Démarre une écoute asynchrone par le socket
                    Console.WriteLine("Waiting for a connection...");
                    listener.BeginAccept(new AsyncCallback(AcceptCallback), listener);

                    // Attends une connexion pour continuer
                    allDone.WaitOne();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

            Console.WriteLine("\nPress ENTER to continue...");
            Console.Read();
        }