c++ - Saya tidak tahu berapa banyak data yang dikembalikan oleh pelayan. Bagaimanakah socket_read() PHP menerima data yang lengkap?
淡淡烟草味
淡淡烟草味 2017-05-16 13:09:13
0
1
617

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.

淡淡烟草味
淡淡烟草味

membalas semua(1)
phpcn_u1582

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan