Soket Unix adalah soket dua arah - seperti soket berbasis IP, yang mungkin Anda kenal, dan sejenisnya dengan pipa, yang mungkin Anda kenal.
Mereka memiliki seperangkat properti yang menarik:
- Mereka berada dalam domain "host lokal" saja - Anda tidak dapat mengaksesnya melalui jaringan, hanya pada mesin lokal.
- Anda dapat membuatnya dalam mode "streaming", di mana mereka hanya melewatkan data seperti pipa sebagai aliran byte.
- Anda dapat membuatnya dalam mode "datagram", di mana mereka mempertahankan batas antara operasi pengiriman. Ini memungkinkan Anda untuk mempertahankan pembingkaian tanpa membangun protokol pembingkaian Anda sendiri di atas aliran byte.
- Mereka menggunakan sistem file, atau di Linux, "namespace abstrak", sebagai "alamat" mereka
- Anda mungkin dapat menyamar sebagai ujung lainnya, mengidentifikasi perangkat lunak penghubung dengan aman, atau mengoper file melalui soket, tergantung pada OS Anda.
Pada dasarnya, mereka setara dengan soket lainnya - mereka memiliki sifat yang sedikit lebih menarik daripada pipa, tetapi sebaliknya tidak berbeda secara radikal. Mereka memang memiliki latensi IPC lebih tinggi daripada pipa, dan seringkali buffer lebih besar - meskipun Anda mungkin dapat menyetelnya, dan itu tergantung pada platform.
Properti terakhir yang menarik untuk diingat adalah bahwa mereka menggunakan sistem file sebagai namespace mereka - jadi seperti pipa bernama, bukan pipa anonim, dalam perangkat lunak tanpa hubungan sebelumnya yang dapat berkomunikasi. (Soket namespace abstrak sama, tetapi jalur "file" tidak harus ada.)
Tidak ada yang lebih dalam dari itu - mereka tidak memiliki properti tersembunyi super-rahasia yang membuat mereka sangat berbeda dari pipa biasa, atau koneksi TCP ke localhost.