Adalah skema input port hal yang sama dengan a c FILE* atau python file? Apakah itu hal yang sama dengan unix file deskriptor? Jika tidak, bagaimana port input berbeda dari yang lain (dan mengapa itu disebut seperti itu dan bukan hanya 'file')?

0
carl.hiass 5 April 2021, 05:54

1 menjawab

Jawaban Terbaik

Ini kira-kira, tetapi hanya kira-kira setara: port adalah objek ke dan dari mana Anda dapat menulis atau membaca objek lain: byte atau karakter (biasanya).

Tetapi perkiraannya tidak terlalu dekat. Port dari mana Anda dapat membaca atau menulis karakter daripada byte adalah, well, port yang menangani karakter. Itu berarti bahwa sebelum mereka dapat, misalnya, menulis beberapa oktet pada koneksi TCP yang mendasari port, mereka harus menerjemahkan karakter-karakter tersebut ke dalam oktet menggunakan (dengan keberuntungan) beberapa pengkodean standar. Saya tidak berpikir mekanisme untuk mengendalikan encoding & amp ini; Decoding ditentukan dalam skema, tetapi harus ada. Jadi port, setidaknya kadang-kadang, hal yang rumit.

(Adapun mengapa mereka disebut 'port': well, c membuat kesalahan memanggil komunikasi titik akhir 'deskriptor file' (dan itu membuat kesalahan yang lebih buruk memanggil bytes chars). Tetapi skema tidak berasal dari unix / C latar belakang jadi tidak ada alasan untuk mengulang kesalahan itu. Mengingat apa yang kita sebut titik akhir komunikasi di TCP / IP, 'port' tampaknya cukup bagus.)

2
tfb 5 April 2021, 10:23