Что такое unix socket и где он используется где и почему ?
В каких случаях я должен использовать UNIX socket вместо IP socket ?
сокеты домена UNIX являются методом, которым могут связаться процессы на том же хосте. Связь двунаправлена с потоковыми сокетами и однонаправлена с датаграммными сокетами.
сокеты домена UNIX используют файловую систему в качестве пространства имен адреса т.е., вместо того, чтобы определить сервер IP-адресом и портом, сокет домена UNIX известен путем. Это означает, что можно использовать полномочия файла UNIX управлять доступом для общения с ними. Т.е. можно ограничить то, что другие процессы могут подключить к демону - возможно, один пользователь может, но веб-сервер не может и т.п. С сокетами IP способность соединиться с Вашим демоном выставляется от существующей системы, что означает, что любой может соединиться с Вашим сокетом, таким образом, дополнительным шагам, вероятно, придется сделать для безопасности. С другой стороны, Вы получаете прозрачность сети.
сокеты домена With UNIX, можно на самом деле получить учетные данные процесса, который создал удаленный сокет, и используйте это для управления доступом также, которое может быть довольно удобным в многопользовательских системах.
сокеты домена UNIX имеют явно заданные знания, которые они выполняют в той же системе. Они избегают дополнительных контекстных переключений, и Никакие контрольные суммы не вычисляются, никакие заголовки не вставляются, никакая маршрутизация не выполняется, и т.д. Поскольку у них есть доступ к удаленному буферу сокета, они могут также непосредственно предоставить обратную связь отправителю, когда это заполняется, или что еще более важно, освобождение, вместо того, чтобы иметь добавленные издержки явного подтверждения и изменений окна. Одна часть функциональности, что сокеты домена UNIX не обеспечивают тот TCP, делает из данных полосы .