Jika data yang dihantar oleh pelayan sentiasa melebihi bilangan bait maksimum yang boleh ditanggung oleh klien pada satu-satu masa, bagaimanakah pelanggan boleh menentukan bahawa data yang diterima lengkap tanpa melakukan operasi socket_read. Berapa banyak data yang dikembalikan oleh pelayan? ? Terdiri daripada /n. Saya cuba menggunakan gelung sementara untuk membaca data pelayan, tetapi terdapat masalah dengan operasi.
Jika ia adalah pautan pendek, gunakan socket_set_nonblock untuk menetapkan pautan soket kepada tidak menyekat, dan kemudian laksanakan socket_read dalam gelung Apabila panjang nilai pulangan ialah 0, lompat keluar dari gelung dan penerimaan tamat (kaedah ini boleh menyebabkan masalah dalam beberapa kes).
Sebaik-baiknya tentukan panjang data pada bahagian pelayan supaya tiada ralat.