2009-04-05 5 views
1

J'utilise le remoting .NET pour un IPC simple basé sur un observateur. J'ai eu deux problèmes:Objets distants et connexions distantes

  1. 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?
  2. 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!

+0

Notez que l'utilisation de localhost pour l'adresse IP fonctionne correctement. C'est juste la connexion d'un ordinateur distant qui dérange. –

Répondre

Questions connexes