Что почитать о том, как создать приложение клиент-сервер?
Нужно написать софт, который коннектился бы к серваку через TCP, отдавал и принимал данные. Интересует архитектура такого приложения и все тонкости реализации клиентской и серверной части, а также, желательно, узнать, как построить подходящую для моего случая базу данных на сервере. Пока что хочу узнать общие принципы этого всего, а затем углубляться под конкретные нужды.
Интересует литература, статьи на русском. Спасибо, буду признательным за помощь!