Fail soket Linux merujuk kepada fail soket yang dibentuk melalui pengaturcaraan shell ialah lapisan abstraksi perisian perantaraan untuk komunikasi antara lapisan aplikasi dan keluarga protokol TCP/IP corak, Soket Sebenarnya, ia adalah mod fasad yang menyembunyikan keluarga protokol TCP/IP yang kompleks di belakang antara muka Socket.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.
Apakah maksud fail sock linux?
Sock dalam Linux secara amnya merujuk kepada fail soket yang dibentuk melalui pengaturcaraan shell Selepas melepasi ls -l, jenis fail pertama yang dipaparkan ialah: s.
Apakah itu Soket?
1. Soket:
Soket berasal daripada Unix, dan salah satu falsafah asas Unix/Linux ialah "semuanya adalah fail", yang boleh dibuka dengan "terbuka -> ; Baca dan tulis tulis/baca –> Soket ialah pelaksanaan mod ini. Soket ialah fail khas, dan beberapa fungsi soket adalah operasi padanya (baca/tulis IO, buka, tutup
Secara terang-terangan, Socket ialah lapisan aplikasi dan Lapisan abstraksi perisian tengah untuk komunikasi suite protokol TCP/IP, yang merupakan satu set antara muka. Dalam mod reka bentuk, Socket sebenarnya ialah mod fasad, yang menyembunyikan keluarga protokol TCP/IP yang kompleks di belakang antara muka Socket Bagi pengguna, satu set antara muka mudah adalah semua, membolehkan Socket mengatur data untuk mematuhi protokol yang ditentukan.
Nota: Sebenarnya, soket tidak mempunyai konsep lapisan Ia hanyalah aplikasi corak reka bentuk fasad, menjadikan pengaturcaraan lebih mudah. Ia adalah lapisan abstraksi perisian. Dalam pengaturcaraan rangkaian, kami menggunakan banyak soket.
2. Deskriptor soket
sebenarnya adalah integer Tiga pemegang yang paling kita kenali ialah 0, 1 dan 2. 0 ialah input standard, 1 ialah output standard dan 2. ialah output ralat Standard. 0, 1, dan 2 diwakili oleh integer, dan struktur FILE * yang sepadan diwakili oleh stdin, stdout, stderr
API soket pada asalnya dibangunkan sebagai sebahagian daripada sistem pengendalian UNIX, jadi API soket Bersepadu dengan peranti I/O lain sistem. Khususnya, apabila aplikasi mencipta soket untuk komunikasi Internet, sistem pengendalian mengembalikan integer kecil sebagai deskriptor untuk mengenal pasti soket. Aplikasi kemudiannya menghantar deskriptor sebagai parameter dan memanggil fungsi untuk menyelesaikan beberapa operasi (seperti menghantar data melalui rangkaian atau menerima data masuk).
Dalam banyak sistem pengendalian, deskriptor soket dan deskriptor I/O lain disepadukan, jadi aplikasi boleh melakukan soket I/O atau I/O baca/tulis ke fail beroperasi.
Apabila aplikasi ingin mencipta soket, sistem pengendalian mengembalikan integer kecil sebagai deskriptor, dan aplikasi menggunakan deskriptor ini untuk merujuk kepada permintaan aplikasi yang memerlukan permintaan I/O untuk operasi sistem membuka fail. Sistem pengendalian mencipta deskriptor fail untuk aplikasi mengakses fail. Dari perspektif aplikasi, deskriptor fail ialah integer yang boleh digunakan oleh aplikasi untuk membaca dan menulis fail. Rajah di bawah menunjukkan cara sistem pengendalian melaksanakan deskriptor fail sebagai tatasusunan penunjuk yang menunjuk kepada struktur data dalaman.
Terdapat jadual berasingan untuk setiap sistem program. Untuk tepat, sistem mengekalkan jadual deskriptor fail yang berasingan untuk setiap proses yang sedang berjalan. Apabila proses membuka fail, sistem menulis penunjuk kepada struktur data dalaman fail ke dalam jadual deskriptor fail dan mengembalikan nilai indeks jadual kepada pemanggil. Aplikasi hanya perlu mengingati deskriptor ini dan menggunakannya apabila memanipulasi fail pada masa hadapan. Sistem pengendalian menggunakan deskriptor ini sebagai indeks untuk mengakses jadual deskriptor proses dan menggunakan penunjuk untuk mencari struktur data yang menyimpan semua maklumat tentang fail.
Struktur data sistem untuk soket:
1). Terdapat soket fungsi dalam API soket, yang digunakan untuk mencipta soket. Idea umum reka bentuk soket ialah satu panggilan sistem boleh mencipta sebarang soket, kerana soket adalah agak umum. Setelah soket dibuat, aplikasi perlu memanggil fungsi lain untuk menentukan butiran khusus. Contohnya, memanggil soket akan mencipta entri deskriptor baharu:
2). Walaupun struktur data dalaman soket mengandungi banyak medan, selepas sistem mencipta soket, Kebanyakan medan perkataan dibiarkan tanpa diisi. Selepas aplikasi mencipta soket, ia mesti memanggil prosedur lain untuk mengisi medan ini sebelum soket boleh digunakan.
Pembelajaran yang disyorkan: "tutorial video linux"
Atas ialah kandungan terperinci Apakah maksud fail sock linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!