title: Remoting objects and remote connections
body: <p>I'm using .NET remoting for some simple observer-based IPC. I've been having two problems:</p>
  
  <ol>
  <li>If I don't make any calls from the client on a remote object for a few minutes, an error is thrown when I do try to call, specifying that the connection has been dropped. How can I keep this alive?</li>
  <li><p>I can't seem to accept clients from other computers over TCP. I'm using a TcpChannel configured as such:  </p>
  
  <pre><code>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 );
  </code></pre></li>
  </ol>
  
  <p>And when a client app tries to connect <code>( m_Controller = (Controller)RemotingServices.Connect( typeof( Controller ), "tcp://" + ip + ":2594/Controller" ) )</code>, it always times out. I am not behind a firewall and my ports are forwarded properly. I can use this port for socket-based apps but not for remoting for some reason. Please help!</p>