Начнем, пожалуй, с не большого предисловия…
Так уж вышло, что весь мой опыт в программировании построен на PHP и JavaScript, и обычном сайтостроении.



Теперь ближе к делу…
Появилась необходимость сделать простенький клиент к части сайта, то бишь на сайте есть страница с несколькими кнопками (конечно же, для зарегистрированных пользователей), так вот эту часть и надо вынести в клиент, чтобы работать можно было, не открывая браузер. Сразу оговорюсь, что использовать элемент WebBrowser не вариант.
Что касается клиента, то при запуске программы, происходит соединение с сервером, проверка наличия обновлений (чего на самом деле ещё долго не будет), затем авторизация и уже сам запуск клиента. Клиент – это не большое окно с несколькими кнопками, клик по каждой открывает своё окно. Большую часть времени клиент просто находится в режиме запуска и если для пользователя есть новое сообщение или какая-то новая информация, он должен получить её. Вот собственно и весь клиент.
И наконец-то вопрос…
И занялся, я значит изучением написания клиент-серверных приложений и протокола TCP (ранее работать приходилось только с HTTP). И во всех материалах, статьях и примерах, что мне попадались… Твердили, что необходимо указывать максимальное количество одновременных соединений, их конечно можно не указать, но тогда велики шансы, что сервер может, не справится (а это уже плохо). Тогда получается (в моём случае), надо указать это самое количество, но чтобы (если вдруг окажется, что клиентов много) не приходилось лишним ожидать, после каждого запроса надо разрывать соединение. А чтобы клиент вовремя получал уведомления, просто вешаем таймер, который будет отправлять через n-ое количество секунд (минут), запрос на сервер. И вот когда я дошёл до подобных умозаключений, я задался вопросом «в чём же тогда разница между TCP и HTTP протоколами?!», ведь, по сути, у меня получается то же самое, что и обычная web-страница с ajax-запросами. И достаточно просто закинуть на хост парочку PHP-скриптов, что будут отвечать на запросы и всё. Но если это так, то, наверное, я, что-то не понял.

Собственно вопрос в том, где мои мысли пошли не в том направлении и куда их всё же стоит направить?

P.S.: Я наверное слегка слукавил, когда в названии тему написал «не большой вопрос» и спасибо всем кто осилил сей вопрос и дочитал до конца.