using System; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Tcp; namespace Client { class Client { /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { try { //Enregistrer le canal TCP port 1234 TcpChannel chnl = new TcpChannel(); ChannelServices.RegisterChannel(chnl); //Prendre la référence sur le serveur (tcp://nommachine:port/CompteurManager) IRemote.ICompteur CompteurDistant = (IRemote.ICompteur)Activator.GetObject(typeof(IRemote.ICompteur),"tcp://localhost:1236/CompteurManager"); //Verifier que la reférence a été acquise if (CompteurDistant == null) { Console.WriteLine("Client: référence au serveur non acquise..."); } else { Console.WriteLine("Client: Reference au serveur acquise "); //On peut a present appeler les méthodes de la façon CompteurDistant.maMethode CompteurDistant.Augmenter(1); CompteurDistant.Augmenter(2); CompteurDistant.Augmenter(3); //On peut aussi récuperer des variables comme des String, mais aussi des Dataset.. string monNiveau = CompteurDistant.Niveau(); Console.WriteLine(monNiveau); Console.ReadLine(); //Attendre les instructions sur la console... } } catch (Exception ex) { Console.WriteLine("ERREUR :" + ex.Message); } } } }