Unix soketleri, tıpkı muhtemelen tanıdığınız bir IP tabanlı soket gibi ve muhtemelen aşina olduğunuz bir boruya benzeyen çift yönlü bir sokettir.
Küçük bir dizi ilginç özellik var:
- Yalnızca "yerel ana bilgisayar" etki alanındadırlar - ağ üzerinden erişemezsiniz, yalnızca yerel makinede.
- Bunları "akış" modunda oluşturabilirsiniz, burada sadece boru gibi verileri bayt akışı olarak iletirler.
- Bunları, gönderme işlemleri arasındaki sınırları korudukları "datagram" modunda oluşturabilirsiniz. Bu, bayt akışının üstünde kendi çerçeveleme protokolünüzü oluşturmadan çerçeveyi korumanıza olanak tanır.
- Dosya sistemini veya Linux'ta "adres" olarak bir "soyut ad alanı" kullanırlar
- İşletim sisteminize bağlı olarak, diğer ucu taklit edebilir, bağlantı yazılımını güvenli bir şekilde tanımlayabilir veya dosya tanıtıcılarını soketten geçirebilirsiniz.
Esasen, diğer herhangi bir soketin eşdeğeridir - borulardan biraz daha ilginç özelliklere sahiptirler, ancak aksi takdirde radikal olarak farklı değildirler. Tipik olarak bir borudan daha yüksek IPC gecikmesine ve genellikle daha büyük arabelleklere sahiptirler - ancak bunu ayarlayabiliyor olabilirsiniz ve platforma bağlıdır.
Hatırlanması gereken son ilginç özellik, dosya sistemini ad alanları olarak kullanmalarıdır - bu nedenle, daha önce bir ilişkisi olmayan bu yazılımda anonim bir boru yerine adlandırılmış bir boru gibidir. (Soyut ad alanı yuvaları aynıdır, ancak "dosya" yolunun bulunması gerekmez.)
Bundan daha derin bir şey yoktur - onları tipik bir borudan veya localhost'a bir TCP bağlantısından radikal olarak farklı kılan herhangi bir süper gizli gizli mülkleri yoktur.