I've been writing some socket-based code for an upcoming column, and it worked really nice when I used localhost for the client and server on another machine, but broke when I tried to use the machine name.

Just something else I didn't know about networks. localhost is not the same thing as the local ip address, but is rather a totally separate address.

If you want to create a TcpListener, you should use IPAddress.Any as your parameter for the IP address. That will do what you want.