Я рекомендую использовать RPC вместо чистой связи TCP / IP через сокеты.
Если клиентов мало, и вы не хотите использовать сложные технологии, используйте что-то вроде JsonRPC или XMLRPC. (Обратите внимание, что Pyro может использоваться только тогда, когда сервер и клиент написаны на Python. Если вы планируете перейти на Java позже, вам следует учесть это.)
Если здесь важны производительность и безопасность (например, множество клиентов отправляет запросы одновременно или вам требуется SSL-соединение), используйте что-то вроде Ice . Я предпочитаю Ice над Corba, потому что он более простой, более современный и в то же время такой же хороший, как Corba (возможно, даже лучше).
Обновление : После прочтения ваших комментариев я очень рекомендую вам использовать Ice. Ice и Corba и подобные им технологии называют ORB (Object Request Broker). Они не используют традиционную модель сервер / клиент. Таким образом, все объекты в приложении могут связываться друг с другом. Неважно, где они. В этом случае у вас будет реальное распределенное приложение.