Apa itu file socket?


23

Baru-baru ini, saya mulai menggunakan tmux; Saya mencoba menggunakan fitur pemrograman pasangan dalam perangkat lunak itu. Selama proses tersebut file soket telah dibuat. Pertanyaan saya adalah: apa itu file soket, bagaimana saya membukanya di Ubuntu dan bagaimana mereka digunakan?

Jawaban:


34

Soket adalah jenis file khusus, mirip dengan soket TCP / IP, menyediakan jaringan antar-proses yang dilindungi oleh kontrol akses sistem file.

Misalnya, ketika Anda membuka soket mendengarkan di satu terminal dengan netcat:

nc -lU socket.sock

kemudian kirim data dari terminal lain dengan:

echo mytext | nc -U socket.sock

mytext muncul di terminal pertama.

Secara default, nc berhenti mendengarkan setelah karakter End-of-File.


Saya sepertinya tidak memiliki opsi U dengan nc, saya mendapat kesalahan opsi U yang tidak didefinisikan. Apakah socket.sockfile yang Anda buat sebelumnya¿? Bisakah Anda menggunakan tmux -S dan menggunakan deskriptor file socket (tipicaly 3) dari salah satu ujung socket untuk mengirim data pada socket¿?
AoDo

@ aDoN instal nc.openbsd, Anda punya nc.traditional.
Cuauhtli

18

Socket domain unix adalah pipa dua arah yang mirip dengan soket TCP / IP. Server mendengarkan dan menerima koneksi dari klien, dan kemudian dapat berkomunikasi dengan klien pada koneksi yang baru diterima. Apa yang istimewa tentang soket domain unix adalah bahwa alih-alih memiliki alamat IP dan nomor port, mereka memiliki nama file sebagai alamat mereka. Ini memungkinkan aplikasi lain yang tidak tahu apa-apa tentang jaringan diberitahu untuk membuka file dan membaca atau menulis dan data dikirim ke server alih-alih ke disk.


Ide yang sederhana dan elegan!
iono
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.