Bonjour tous le monde,
j'essaye de faire un simple programme pour comprendre le fonctionnement de Remoting , mais il ne marche pas pourtant il est trés simple.
le probléme c'est qu'il ne reconnais pas la classe : TcpChannel ()
voila le code:
l'Objet Distant:
Code :
- using System;
- using System.Runtime.Remoting;
- using System.Runtime.Remoting.Channels;
- using System.Runtime.Remoting.Channels.Tcp;
- namespace enaxos.Remoting
- {
- public class ObjetRemotable : MarshalByRefObject
- {
- //////////////////////////////////////////////////////////////////////////////
- ///constructor
- public ObjetRemotable()
- {
- Console.WriteLine("Remote object activated" );
- }
- //////////////////////////////////////////////////////////////////////////////
- ///return message reply
- public String Salut()
- {
- return "Server : Yeah! I'm here";
- }
- }
- }
|
Serveur:
Code :
- using System;
- using System.Runtime.Remoting;
- using System.Runtime.Remoting.Channels;
- using System.Runtime.Remoting.Channels.Tcp;
- namespace enaxos.Remoting
- {
- public class ServerTest
- {
- public static int Main(string[] args)
- {
- //select channel to communicate
- TcpChannel channel = new TcpChannel(8080);
- ChannelServices.RegisterChannel(channel); //register channel
- //register remote object
- RemotingConfiguration.RegisterWellKnownServiceType(
- typeof(ObjetRemotable),"bonjour",WellKnownObjectMode.SingleCall);
- //inform console
- Console.WriteLine("Server Activated..." );
- Console.ReadLine();
- return 0;
- }
- }
- }
|
Client :
Code :
- using System;
- using System.Runtime.Remoting;
- using System.Runtime.Remoting.Channels;
- using System.Runtime.Remoting.Channels.Tcp;
- namespace enaxos.Remoting
- {
- public class ClientSimple
- {
- public static int Main(string[] args)
- {
- //select channel to communicate with server
- TcpChannel channel = new TcpChannel();
- ChannelServices.RegisterChannel(channel);
- ObjetRemotable obj = (ObjetRemotable)Activator.GetObject(
- typeof(enaxos.Remoting.ObjetRemotable),
- "tcp://localhost:8080/Bonjour" );
- if (obj.Equals(null))
- Console.WriteLine("Serveur Non Trouvé" );
- else
- Console.WriteLine(obj.Salut());
- return 0;
- }
- }
- }
|
Merci d'avance
Message édité par man_u le 07-12-2009 à 11:33:00