Сокет - это ресурс, который вы используете для связи по сети. Когда приложение хочет установить какую-либо сетевую связь, оно должно подключиться к узлу назначения. Для этого используется socket
. В большинстве случаев используется сетевой протокол TCP / IP. Для этого необходимо указать IP-адрес или имя хоста, к которому следует подключаться, и так называемый TCP-порт - это уникальный идентификатор службы, работающей на целевом хосте, например, 80 используется для HTTP. Когда соединение установлено, вы используете сокет аналогично дескриптору файла, вы просто записываете в него некоторые данные или читаете из него. Вот как обычно работает сеть.
Pipe - это средство, созданное в Unix, - помните, Mac и iPhone основаны на Unix-системах. Это (тайный, но все еще популярный) способ связи между двумя процессами. С точки зрения программирования, это похоже на дескриптор файла - когда два процесса соединены через канал, они могут записывать и считывать в канал для связи между собой.
Устройство - это абстракция устройства. Представьте, что вы хотите иметь прямой доступ к вашему жесткому диску. В Unix-системах это делается так, что вы открываете какой-то специальный файл, который на самом деле не является файлом, а создается в файловой системе как «устройство». Проверьте каталог "/ dev /" на вашем Mac, он содержит доступные устройства. Для жесткого диска вы можете найти "/ dev / disk0", для его первого раздела "/ dev / disk0s1". Эти «устройства» представляют драйверы устройств, загруженные в ядро. Расширения ядра (например, драйверы) могут предоставлять такое устройство для обеспечения связи с программами пользовательского пространства.