Для VS 2005 / .NET 2.0 попробуйте .NET Remoting
Редактировать
Если вам не понравится упражнение, я бы советовал против розеток. .NET Remoting обеспечивает связь по TCP, UDP, IPC, и для вашего кода это выглядит так, будто вы вызываете метод / свойство объекта. Кроме того, любая структура данных, которая может быть сериализована, может передаваться по проводам, что позволяет использовать расширенное представление данных, а не упаковывать / анализировать байтовые потоки на уровне сокетов.