Cara menggunakan Workerman untuk melaksanakan fungsi tolak mesej masa nyata PHP dan Unity3D
Ikhtisar:
Dalam pembangunan web moden, tolakan mesej masa nyata telah menjadi keperluan fungsian yang semakin penting. Sama ada sembang dalam talian, pemberitahuan masa nyata, penyegerakan data permainan, dll., tolakan mesej masa nyata boleh memberikan pengalaman pengguna yang lebih baik. PHP dan Unity3D ialah dua tindanan teknologi yang digunakan secara meluas Cara melaksanakan mesej masa nyata melaluinya.
Pengenalan kepada Workerman:
Workerman ialah perpustakaan rangkaian dipacu peristiwa tak segerak berprestasi tinggi yang dibangunkan berdasarkan PHP, yang menyediakan fungsi pengaturcaraan rangkaian yang berkuasa. Berbanding dengan aplikasi PHP tradisional, menggunakan Workerman boleh melaksanakan aplikasi rangkaian berkependaman tinggi dan berkependaman rendah dengan mudah. Selain itu, Workerman juga sangat sesuai untuk melaksanakan fungsi tolak data masa nyata.
Gunakan Workerman untuk melaksanakan push mesej masa nyata dalam PHP:
Mula-mula, kita perlu memasang Workerman. Buka terminal dan laksanakan arahan berikut:
composer require workerman/workerman
Seterusnya, kami mencipta fail bernama push.php dan tulis kod berikut:
<?php require_once __DIR__ . '/vendor/autoload.php'; use WorkermanWorker; use WorkermanConnectionTcpConnection; $worker = new Worker("tcp://0.0.0.0:2345"); $worker->onMessage = function(TcpConnection $connection, $data) { // 向所有连接的客户端推送消息 foreach($connection->worker->connections as $client) { $client->send($data); } }; Worker::runAll();
Kod di atas mencipta perkhidmatan TCP mendengar pada port 2345. Apabila pelanggan menyambung dan menghantar mesej, mesej ditolak kepada semua pelanggan yang disambungkan.
Gunakan Workerman untuk melaksanakan push mesej masa nyata dalam Unity3D:
Unity3D ialah enjin pembangunan permainan yang sangat popular Kami boleh menggunakan C# dalam Unity3D untuk melaksanakan langganan mesej masa nyata.
Mula-mula, kami membuka Unity3D, mencipta fail skrip baharu dan menamakannya MessageSubscriber.cs. Tulis kod berikut dalam skrip:
using UnityEngine; using WebSocketSharp; public class MessageSubscriber : MonoBehaviour { private WebSocket websocket; void Start() { websocket = new WebSocket("ws://localhost:2345"); websocket.OnMessage += (sender, e) => { string message = e.Data; Debug.Log(message); }; websocket.Connect(); } void OnDestroy() { if (websocket != null && websocket.ReadyState == WebSocketState.Open) { websocket.Close(); } } }
Kod di atas menggunakan perpustakaan WebSocketSharp untuk mencipta contoh WebSocket dan menyambung ke pelayan. Apabila mesej tiba, logik pemprosesan mesej dicetuskan melalui acara OnMessage.
Contoh tolak mesej masa nyata lengkap:
Di bawah ini kami akan menyepadukan contoh kod PHP dan Unity3D untuk menunjukkan cara melaksanakan fungsi tolak mesej masa nyata yang lengkap.
Melalui langkah di atas, kami boleh menerima dan memproses mesej yang dihantar oleh PHP dalam Unity3D dalam masa nyata, dengan itu mencapai fungsi tolakan mesej masa nyata.
Ringkasan:
Fungsi tolakan mesej masa nyata antara PHP dan Unity3D boleh dilaksanakan dengan mudah menggunakan rangka kerja Workerman. Melalui kod contoh di atas, kami boleh melaksanakan fungsi pemesejan masa nyata dengan mudah dalam projek kami sendiri dan meningkatkan pengalaman pengguna. Sudah tentu, dalam penggunaan sebenar, kita boleh mengoptimumkan dan mengembangkan lagi mengikut keperluan. Saya harap artikel ini akan membantu anda memahami Workerman dan melaksanakan push mesej masa nyata.
Atas ialah kandungan terperinci Cara menggunakan Workerman untuk melaksanakan fungsi push mesej masa nyata PHP dan Unity3D. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!