Untuk melaksanakan fungsi komunikasi WebSocket dalam dokumen Workerman, contoh kod khusus diperlukan
Websocket ialah protokol untuk komunikasi dupleks penuh pada sambungan TCP tunggal. Workerman ialah rangka kerja pelayan Soket PHP berprestasi tinggi yang boleh digunakan untuk membina aplikasi web berprestasi tinggi yang pantas. Dalam dokumentasi Workerman rasmi, terdapat arahan terperinci tentang cara melaksanakan komunikasi WebSocket Artikel ini akan memberikan anda contoh kod khusus.
Pertama, kita perlu mencipta kelas WebSocket dalam rangka kerja Workerman untuk mengendalikan proses jabat tangan WebSocket dan penghantaran mesej. Berikut ialah contoh kod kelas WebSocket yang paling mudah:
use WorkermanWorker; use WorkermanLibTimer; // 创建一个Worker监听端口,使用WebSocket协议通讯 $ws_worker = new Worker('websocket://127.0.0.1:8000'); // 启动4个进程对外提供服务 $ws_worker->count = 4; // 当客户端连接上WebSocket服务时的回调函数 $ws_worker->onConnect = function($connection){ echo "New connection "; }; // 当客户端发送数据到WebSocket服务时的回调函数 $ws_worker->onMessage = function($connection, $data){ // 发送数据到客户端 $connection->send('Received: '.$data); }; // 当客户端与WebSocket服务断开连接时的回调函数 $ws_worker->onClose = function($connection){ echo "Connection closed "; }; // 运行Worker Worker::runAll();
Dalam kod contoh di atas, kami mula-mula mencipta Worker dengan port mendengar WebSocket untuk menyediakan perkhidmatan luaran. Kemudian tetapkan fungsi panggil balik apabila klien menyambung ke perkhidmatan WebSocket, menghantar data ke perkhidmatan WebSocket dan memutuskan sambungan daripada perkhidmatan WebSocket. Dalam fungsi panggil balik, data yang diterima boleh diproses dan hasil pemprosesan dihantar kepada pelanggan.
Seterusnya, kita perlu menjalankan kod di atas dalam baris arahan untuk memulakan pelayan WebSocket. Output baris arahan akan memaparkan proses permulaan perkhidmatan WebSocket, termasuk maklumat yang berkaitan dengan sambungan klien, penghantaran data dan pemutusan sambungan.
Selepas memulakan pelayan WebSocket, kami boleh menggunakan pelayar atau alat klien WebSocket lain untuk menyambung ke alamat pelayan, menghantar data dan menerima respons pelayan. Kod JavaScript berikut boleh digunakan sebagai contoh klien WebSocket:
var ws = new WebSocket("ws://127.0.0.1:8000"); // 连接成功时的回调函数 ws.onopen = function(){ console.log("Connected."); ws.send("Hello Server."); }; // 接收到服务器数据时的回调函数 ws.onmessage = function(evt){ console.log("Received Message: "+evt.data); ws.close(); }; // 与服务器断开连接时的回调函数 ws.onclose = function(){ console.log("Connection closed."); };
Selepas menjalankan kod JavaScript di atas, konsol alat pembangun penyemak imbas akan mengeluarkan maklumat yang berkaitan dengan sambungan, pemindahan data dan pemotongan perkhidmatan WebSocket.
Melalui contoh kod di atas, kami berjaya melaksanakan fungsi komunikasi WebSocket dalam rangka kerja Workerman. Dalam pembangunan sebenar, kami boleh melanjutkan kelas WebSocket mengikut keperluan untuk melaksanakan logik perniagaan yang lebih kompleks dan fleksibel. Selain itu, rangka kerja Workerman juga menyediakan fungsi berkuasa lain, seperti IO tak segerak, pemasa, dsb., yang boleh membantu kami membina aplikasi web berprestasi tinggi dan boleh dipercayai.
Untuk meringkaskan, untuk melaksanakan fungsi komunikasi WebSocket dalam dokumen Workerman, kita perlu mencipta kelas WebSocket dan menyediakan fungsi panggil balik yang berkaitan untuk mengendalikan operasi seperti sambungan, penghantaran data dan pemutusan sambungan. Melalui penyemak imbas atau alat klien WebSocket yang lain, kami boleh bertukar-tukar data dengan pelayan. Rangka kerja Workerman adalah berprestasi tinggi dan fleksibel serta boleh membantu kami membina aplikasi web yang stabil dan cekap.
Atas ialah kandungan terperinci Laksanakan fungsi komunikasi WebSocket dalam dokumen Workerman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!