Что такое сокет UNIX? [закрыто]

Что такое unix socket и где он используется где и почему ?

В каких случаях я должен использовать UNIX socket вместо IP socket ?

1
задан 9 June 2017 в 13:39

1 ответ

сокеты домена UNIX являются методом, которым могут связаться процессы на том же хосте. Связь двунаправлена с потоковыми сокетами и однонаправлена с датаграммными сокетами.

сокеты домена UNIX используют файловую систему в качестве пространства имен адреса т.е., вместо того, чтобы определить сервер IP-адресом и портом, сокет домена UNIX известен путем. Это означает, что можно использовать полномочия файла UNIX управлять доступом для общения с ними. Т.е. можно ограничить то, что другие процессы могут подключить к демону - возможно, один пользователь может, но веб-сервер не может и т.п. С сокетами IP способность соединиться с Вашим демоном выставляется от существующей системы, что означает, что любой может соединиться с Вашим сокетом, таким образом, дополнительным шагам, вероятно, придется сделать для безопасности. С другой стороны, Вы получаете прозрачность сети.

сокеты домена With UNIX, можно на самом деле получить учетные данные процесса, который создал удаленный сокет, и используйте это для управления доступом также, которое может быть довольно удобным в многопользовательских системах.

сокеты домена UNIX имеют явно заданные знания, которые они выполняют в той же системе. Они избегают дополнительных контекстных переключений, и Никакие контрольные суммы не вычисляются, никакие заголовки не вставляются, никакая маршрутизация не выполняется, и т.д. Поскольку у них есть доступ к удаленному буферу сокета, они могут также непосредственно предоставить обратную связь отправителю, когда это заполняется, или что еще более важно, освобождение, вместо того, чтобы иметь добавленные издержки явного подтверждения и изменений окна. Одна часть функциональности, что сокеты домена UNIX не обеспечивают тот TCP, делает из данных полосы .

4
ответ дан 3 December 2019 в 06:53

Другие вопросы по тегам:

Похожие вопросы: