Сокет, на языке C, представляет собой структуру данных в пространстве ядра, соответствующую одной конечной точке сеанса UDP или TCP (я использую сеанс очень свободно, когда говорю о UDP). Обычно он связан с одним единственным номером порта на локальной стороне и редко более чем одним «известным» номером на любой стороне сеанса.
«Необработанный сокет» - это конечная точка более или менее физического транспорта. Они редко используются при разработке приложений, но иногда используются для различных диагностических целей (traceroute, ping, возможно, другие), и для их открытия могут потребоваться повышенные привилегии.
Сокеты по своей природе являются бинарным переносом октетов. Нередко к сокетам (по крайней мере, к сокетам TCP) относятся как к текстовым потокам.
Я еще не видел модели программирования, в которой бы не использовалось что-то вроде сокетов, если вы копали достаточно глубоко, но, безусловно, были и другие модели создания сетей. Псевдо-файловая система "/ net /", где открытие "/net/127.0.0.0.1/tcp/80" (или "tcp / www") даст вам дескриптор файла, в котором записи заканчиваются на веб-сервере на localhost это только один.