В основном, общение по TCP - это передача байтов от клиента к серверу и получение байтов на клиенте с сервера.
Вы можете придать смысл этим байтам или сделать что-нибудь для вас.
Существует множество возможностей и протоколов на выбор.
На основании, у вас есть либо UDP (который ненадежен, но почти не требует накладных расходов, но очень хорошо подходит для широковещательной рассылки), и TCP (который более надежен, поэтому имеет больше накладных расходов, но проще в использовании).
Транспортным протоколом, который часто используется поверх TCP, является HTTP, тем более что его легко получить через прокси-серверы.
Кроме того, вы можете использовать XML + SOAP или JSON + REST, что значительно упрощает перевод из / в ваши базовые объекты.
В целом есть множество вариантов на выбор.
Простой старт - пример чата Delphi на delphi.about.com . Это определенно должно помочь вам.