Bonjour , je suis débutant en programmation et je developpe actuellement deux applications qui doivent communiquer entre elles (de manière bi directionnelle) au moyen de messages, et ce , sur le meme pc.
Après beaucoup de recherches , j'ai vu que le .Net Remoting était conseillé , j'ai donc essayé de mettre en place cette solution mais j'ai quelques problemes.
Tout d'abord le problème pour accéder à l'objet local sur le serveur, je ne vois pas comment faire.
Donc là si j'ai tout compris , je register un channel pour communiquer , je publie un objet de type Remote , qui s'appellera RemoteOperation dans le mode Singleton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 static void Main(string[] args) { try { RegisterChannel("SRPServer"); RemotingConfiguration.RegisterWellKnownServiceType( typeof(remote), "RemoteOperation", WellKnownObjectMode.Singleton); Console.WriteLine("Le serveur a démarré avec succés .... "); Console.Read(); } catch (Exception se) { Console.WriteLine("Connect error : " + se); Console.Read(); Thread.Sleep(2000); } } static void RegisterChannel(string name) { Hashtable properties = new Hashtable(); properties.Add("name", name); properties.Add("portName", name); properties.Add("typeFilterLevel", "Full"); IpcChannel channel = new IpcChannel(properties, new BinaryClientFormatterSinkProvider(properties, null), new BinaryServerFormatterSinkProvider(properties, null)); ChannelServices.RegisterChannel(channel); }
Mais après comment accéder a cet objet sur le serveur ?
J'y arrive avec le client grâce a mgr = (Iremote.Iremote)Activator.GetObject(typeof(Iremote.Iremote ), "ipc://SRPServer/RemoteOperation"); , mais à quoi bon modifier un objet si il n'est utilisable que sur le client ?
Mon deuxième problème se situe au niveau des evenements.
J'aimerais pouvoir échanger des messages dans les 2 sens , et donc déclencher un événement lorsqu'une méthode est appellée par le serveur ou par le client.
J'en demande beaucoup je sais mais je suis un peu perdu là![]()
Merci d'avance pour tout
PS : Ha oui , si vous trouvez le .NET Remoting non approprié pour ce que je veux faire , n'hésitez pas a me le dire ^^ (J'ai notamment lu une doc sur le COM+ et le Message Queuing )
Partager