cari

Rumah  >  Soal Jawab  >  teks badan

c++ - Saya tidak tahu berapa banyak data yang dikembalikan oleh pelayan. Bagaimanakah socket_read() PHP menerima data yang lengkap?

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.

淡淡烟草味淡淡烟草味2816 hari yang lalu645

membalas semua(1)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-05-16 13:11:13

    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.

    balas
    0
  • Batalbalas