J'utilise le remoting .NET pour un IPC simple basé sur un observateur. J'ai eu deux problèmes:Objets distants et connexions distantes
- Si je ne fais pas d'appels du client sur un objet distant pendant quelques minutes, une erreur est levée lorsque je tente d'appeler, en précisant que la connexion été abandonné. Comment puis-je garder cela vivant?
Je n'arrive pas à accepter les clients d'autres ordinateurs sur TCP. J'utilise un TcpChannel configuré en tant que tel:
BinaryServerFormatterSinkProvider serverProv = new BinaryServerFormatterSinkProvider(); serverProv.TypeFilterLevel = TypeFilterLevel.Full; BinaryClientFormatterSinkProvider clientProv = new BinaryClientFormatterSinkProvider(); IDictionary props = new Hashtable(); props["port"] = port; TcpChannel channel = new TcpChannel(props, clientProv, serverProv); ChannelServices.RegisterChannel(channel, false); RemotingConfiguration.RegisterWellKnownServiceType(typeof(Controller), "Controller", WellKnownObjectMode.Singleton);
Et quand une application client tente de se connecter (m_Controller = (Controller)RemotingServices.Connect(typeof(Controller), "tcp://" + ip + ":2594/Controller"))
, il a toujours fois sur. Je ne suis pas derrière un pare-feu et mes ports sont transférés correctement. Je peux utiliser ce port pour les applications basées sur socket, mais pas pour l'accès à distance pour une raison quelconque. S'il vous plaît aider!
Notez que l'utilisation de localhost pour l'adresse IP fonctionne correctement. C'est juste la connexion d'un ordinateur distant qui dérange. –