Secara umumnya: soket (TCP) menggunakan recv untuk menerima data. Jika tiada data dalam cache kernel, ia akan menyekat.
Kemudian jika sambungan TCP tidak diputuskan, tetapi pihak lain tidak pernah menghantar data, adakah panggilan fungsi recv akan menyekat program selama-lamanya?
Soket terbahagi kepada dua jenis: menyekat dan tidak menyekat Mod penyekatan lalai boleh diubah suai kepada tidak menyekat melalui tetapan parameter
Maksud menyekat: Ia sebenarnya adalah penimbal dalam timbunan protokol TCP/IP. 1) Dalam mod menyekat: apabila Jika tiada data dalam penimbal, kemudian tunggu sehingga data dikembalikan
(2) Dalam mod tidak menyekat: Jika tiada data, parameter akan dikembalikan serta-merta (contohnya, satu; pengecualian dibuang di bawah Python)
Anda boleh menggunakan fungsi setsockopt() untuk menetapkan tempoh tamat masa