Сокет - это тупо канал передачи данных, транспортный уровень OSI.
Что вы передаёте и как это используете - задача прикладного уровня. Сокет, транспортный уровень - гораздо ниже и ничего не знает о прикладном уровне, не его это дело. Дело транспорта - озаботиться передачей данных между двумя хостами и скрыть за собой все вопросы фрагментации пакетов, как и вообще пакеты данных, маршрутизацию и всю остальную нижележащую машинерию. TCP сокет идентифицируется 4 цифрами: ip и номер порта отправителя, ip и номер порта получателя. Пару из этих значений вы знаете - там запущен сетевой демон. Вторая пара - socket_getpeername. Всё, больше ничего транспорт вам полезного о собеседнике не скажет.
Всё остальное - это задача прикладного уровня. И используя сырые сокеты прикладной уровень вы выбираете, придумываете и реализуете сами. Надо передать какую-то структуру - то как эту структуру сериализовать и десериализовать, идентификация - какие данные требовать передавать клиенту - это всё придумываете вы.
|