cari
Rumahrangka kerja phpSwooleswoole如何打开ws

swoole如何打开ws

Dec 16, 2019 am 10:22 AM
swoole

swoole如何打开ws

WebSocket(ws)是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,Safrie,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome,从chrome12就已经开始支持,随着协议草案的不断变化,各个浏览器对协议的实现也在不停的更新。            (推荐学习: swoole视频教程

swoole 1.7.9增加了内置的WebSocket服务器支持,通过几行PHP代码就可以写出一个异步非阻塞多进程的WebSocket服务器。

$server = new Swoole\WebSocket\Server("0.0.0.0", 9501);
$server->on('open', function (Swoole\WebSocket\Server $server, $request) {
    echo "server: handshake success with fd{$request->fd}\n";
});
$server->on('message', function (Swoole\WebSocket\Server $server, $frame) {
    echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
    $server->push($frame->fd, "this is server");
});
$server->on('close', function ($ser, $fd) {
    echo "client {$fd} closed\n";
});
$server->start();

WebSocket服务器除了接收Swoole\Server和Swoole\Http\Server基类的回调函数外,额外增加了3个回调函数设置。其中:

onMessage回调函数为必选

onOpen和onHandShake回调函数为可选

WebSocket\Server是Server的子类,因此可以调用Server的全部方法。

需要注意WebSocket服务器向客户端发送数据应当使用WebSocket\Server::push方法,此方法会进行WebSocket协议打包。而Server::send方法是原始的TCP发送接口。

WebSocket\Server::disconnect方法可以从服务端主动关闭一个WebSocket连接,可以指定状态码(根据WebSocket协议,可使用的状态码为十进制的一个整数,取值可以是1000或4000-4999)和关闭原因(采用utf-8编码、字节长度不超过125的字符串)。

在未指定情况下状态码为1000,关闭原因为空

Atas ialah kandungan terperinci swoole如何打开ws. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimana saya boleh menyumbang kepada projek sumber terbuka swoole?Bagaimana saya boleh menyumbang kepada projek sumber terbuka swoole?Mar 18, 2025 pm 03:58 PM

Artikel ini menggariskan cara untuk menyumbang kepada projek Swoole, termasuk melaporkan pepijat, menyerahkan ciri, pengekodan, dan meningkatkan dokumentasi. Ia membincangkan kemahiran dan langkah yang diperlukan untuk pemula untuk mula menyumbang, dan bagaimana mencari tekanan adalah

Bagaimana saya melanjutkan swoole dengan modul tersuai?Bagaimana saya melanjutkan swoole dengan modul tersuai?Mar 18, 2025 pm 03:57 PM

Artikel membincangkan memperluaskan swoole dengan modul tersuai, memperincikan langkah -langkah, amalan terbaik, dan penyelesaian masalah. Fokus utama ialah meningkatkan fungsi dan integrasi.

Bagaimanakah saya menggunakan ciri I/O Swoole yang tidak segerak?Bagaimanakah saya menggunakan ciri I/O Swoole yang tidak segerak?Mar 18, 2025 pm 03:56 PM

Artikel ini membincangkan menggunakan ciri I/O Swoole yang tidak segerak dalam PHP untuk aplikasi berprestasi tinggi. Ia meliputi pemasangan, persediaan pelayan, dan strategi pengoptimuman. Kira Word: 159

Bagaimana saya mengkonfigurasi pengasingan proses swoole?Bagaimana saya mengkonfigurasi pengasingan proses swoole?Mar 18, 2025 pm 03:55 PM

Artikel membincangkan mengkonfigurasi pengasingan proses swoole, manfaatnya seperti kestabilan dan keselamatan yang lebih baik, dan kaedah penyelesaian masalah.

Bagaimanakah model reaktor swoole berfungsi di bawah tudung?Bagaimanakah model reaktor swoole berfungsi di bawah tudung?Mar 18, 2025 pm 03:54 PM

Model Reaktor Swoole menggunakan seni bina I/O yang didorong oleh peristiwa, yang tidak menyekat untuk menguruskan senario-senario yang tinggi, mengoptimumkan prestasi melalui pelbagai teknik. (159 aksara)

Bagaimana saya menyelesaikan masalah sambungan di Swoole?Bagaimana saya menyelesaikan masalah sambungan di Swoole?Mar 18, 2025 pm 03:53 PM

Artikel membincangkan penyelesaian masalah, penyebab, pemantauan, dan pencegahan isu sambungan dalam Swoole, kerangka PHP.

Alat apa yang boleh saya gunakan untuk memantau prestasi Swoole?Alat apa yang boleh saya gunakan untuk memantau prestasi Swoole?Mar 18, 2025 pm 03:52 PM

Artikel ini membincangkan alat dan amalan terbaik untuk memantau dan mengoptimumkan prestasi Swoole, dan kaedah penyelesaian masalah untuk isu -isu prestasi.

Bagaimana saya menyelesaikan kebocoran memori dalam aplikasi swoole?Bagaimana saya menyelesaikan kebocoran memori dalam aplikasi swoole?Mar 18, 2025 pm 03:51 PM

Abstrak: Artikel ini membincangkan kebocoran memori dalam aplikasi swoole melalui pengenalan, pengasingan, dan penetapan, menekankan sebab -sebab umum seperti pengurusan sumber yang tidak wajar dan coroutin yang tidak dikendalikan. Alat seperti pelacak swoole dan valgrind

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini