Soket web Swoole akan digunakan dalam pembangunan dalam dua hari yang lalu, tetapi saya tidak memahami sebahagian daripadanya
$serv = new swoole_websocket_server("127.0.0.1", 9502);
$serv->on('Buka', function($server, $req) {
echo "sambungan terbuka: ".$req->fd;
});
$serv->on('Mesej', fungsi($server, $frame) {
echo "message: ".$frame->data;
$server->push($frame->fd, json_encode(["hello", "world"]));
});
$serv->on('Tutup', fungsi($server, $fd) {
echo "sambungan ditutup: ".$fd;
});
$serv->start();
Ini ialah demo laman web rasmi swoole Apabila klien menghantar mesej kepada pelayan dengan mendengar acara mesej, pelayan akan menghantar mesej kepada klien Jika saya ingin merealisasikan senario ini: jika ada mesej dalam baris gilir, kemudian Hantar mesej kepada pengguna (baris gilir di sini diandaikan sebagai baris gilir redis Dalam kes ini, acara mesej tidak boleh dipantau?
Maka anda perlu menyimpan data pengguna dalam talian. . Selepas menyambung, rekod ID pengguna dan ID pelanggan dalam soket web, surat-menyurat satu dengan satu Jika ada data, anda memanggil kaedah tolak untuk menolak data kepada pengguna