<p>I am trying to establish a basic .NET Remoting communication between 2x 64bit windows machines. If Machine1 is acting as client and Machine2 as server, then everything works fine. The other way around the following exception occurs:</p>

<p>System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 172.16.7.44:6666</p>

<p>The server code:</p>

<pre><code>TcpChannel channel = new TcpChannel(6666);
ChannelServices.RegisterChannel(channel);
RemotingConfiguration.RegisterWellKnownServiceType(
  typeof(MyRemotableObject),"HelloWorld",WellKnownObjectMode.Singleton);
</code></pre>

<p>The client code:</p>

<pre><code>TcpChannel chan = new TcpChannel();
ChannelServices.RegisterChannel(chan);
// Create an instance of the remote object
remoteObject = (MyRemotableObject)Activator.GetObject(
  typeof(MyRemotableObject), "tcp://172.16.7.44:6666/HelloWorld");
</code></pre>

<p>Any idea whats wrong with my code?</p>

Windows Firewall? (Question author says this is not it.)
To track down connection issues the standard approach applies (apply in any order):
ping the machine
double check if some process really is listening in port 6666 (
```
netstat -an
```
)
telnet the machine on port 6666
try to use a different service on the machine.
check if some configuration upsets the server process listening on 6666 and causes it to refuse you. (don't know if that is possible with .NET remoting)
watch communication with the machine using a packet sniffer (Packetyzer, for example) to find out what's going on at the TCP/IP level.
maybe active network infrastructure components between server and client (layer-3 switches, firewalls, NAT-routers, whatever) are interfering