Jawaban:
Sebuah socket UNIX merupakan mekanisme komunikasi antar proses yang memungkinkan pertukaran data dua arah antara proses yang berjalan pada mesin yang sama.
Soket IP (terutama soket TCP / IP) adalah mekanisme yang memungkinkan komunikasi antar proses melalui jaringan. Dalam beberapa kasus, Anda dapat menggunakan soket TCP / IP untuk berbicara dengan proses yang berjalan di komputer yang sama (dengan menggunakan antarmuka loopback).
Soket domain UNIX tahu bahwa mereka mengeksekusi pada sistem yang sama, sehingga mereka dapat menghindari beberapa pemeriksaan dan operasi (seperti perutean); yang membuatnya lebih cepat dan lebih ringan dari soket IP. Jadi, jika Anda berencana untuk berkomunikasi dengan proses pada host yang sama, ini adalah pilihan yang lebih baik daripada soket IP.
Sunting: Sesuai Nils Komentar Toedtmann : Soket domain UNIX tunduk pada izin sistem file, sementara soket TCP dapat dikontrol hanya pada tingkat filter paket.
Anda dapat membuat daftar soket unix lokal mesin Anda sendiri dengan perintah berikut:
netstat -a -p --unix
Selamat bersenang-senang!
netstat
Namun tidak berfungsi pada Windows.
Apa perbedaan antara soket Unix dan soket TCP / IP?
Soket TCP / IP digunakan untuk komunikasi lintas jaringan TCP / IP. Soket TCP yang terhubung diidentifikasi oleh kombinasi IP lokal, port lokal, IP jarak jauh dan port jarak jauh. Soket TCP yang mendengarkan diidentifikasi oleh port lokal dan mungkin IP lokal. AIUI setidaknya di soket linux TCP / IP selalu menghasilkan generasi dan decoding paket TCP / IP, bahkan jika klien dan server berada di mesin yang sama.
Socket unix domain (terkadang disingkat menjadi unix socket) di sisi lain beroperasi pada satu mesin. Soket yang mendengarkan langsung dalam hierarki sistem file dan aksesnya dapat dikontrol oleh izin sistem file.
Lebih jauh, proses menerima koneksi pada soket Unix dapat menentukan ID pengguna dari proses yang menghubungkan. Ini dapat menghindari perlunya langkah otentikasi. Daripada membuat kata sandi untuk server basis data Anda dan memasukkan salinannya dalam kode aplikasi web Anda, Anda bisa memberi tahu server basis data bahwa pengguna yang menjalankan aplikasi web memiliki akses ke akun pengguna yang sesuai di dalam basis data.
Soket TCP juga ditangani oleh Unix?
Tentu saja
Soket TCP adalah bagian dari spesifikasi protokol TCP
Spesifikasi protokol internet hanya cenderung memperhatikan apa yang terjadi pada kawat, spesifikasi TCP berisi definisi Socket tetapi definisi itu tidak sama dengan bagaimana istilah tersebut digunakan oleh "sockets API".
"Soket API" seperti yang kita kenal diperkenalkan oleh BSD tetapi kemudian disalin di semua tempat dan dimasukkan sebagai bagian dari standar posix. Hal-hal dasar untuk soket TCP dan UDP cenderung hampir sama di berbagai platform tetapi hal-hal yang lebih maju dan hal-hal yang berinteraksi dengan bagian-bagian lain dari OS bervariasi, misalnya pada sistem mirip-unix, soket diidentifikasi oleh suatu pegangan file dan dapat dibaca / ditulis oleh file API, ini bukan kasus di windows.
Beberapa ekstensi ke soket API telah didokumentasikan dalam rfcs tetapi RFC tersebut hanya bersifat "informatif".
atau protokol apa pun dapat menggunakan Soket IP?
Ketika suatu aplikasi secara eksplisit membuat socket menggunakan fungsi "socket" (soket juga dibuat oleh fungsi accept) itu melewati tiga parameter, "domain", "type" dan "protokol". Di antara mereka, ketiga parameter ini dapat digunakan untuk memilih berbagai jenis soket.