Teknologi utama dan reka bentuk seni bina untuk sembang dalam talian menggunakan Workerman
1. Pengenalan
Sembang dalam talian ialah salah satu fungsi yang sangat biasa dalam rangkaian sosial moden. Untuk mencapai konkurensi tinggi dan perkhidmatan sembang kependaman rendah, jurutera perlu memilih rangka kerja berprestasi tinggi. Workerman ialah rangka kerja tak segerak sepenuhnya, tidak menyekat, berprestasi tinggi berdasarkan PHP, yang sangat sesuai untuk melaksanakan sembang dalam talian. Artikel ini akan memperkenalkan teknologi utama dan reka bentuk seni bina menggunakan Workerman untuk melaksanakan sembang dalam talian, dan memberikan contoh kod.
2. Teknologi Utama
3. Reka bentuk seni bina
reka bentuk seni bina pekerja terbahagi kepada dua bahagian: bahagian pelayan dan bahagian pelanggan.
Contoh kod pelayan adalah seperti berikut:
require_once __DIR__ . '/vendor/autoload.php'; use WorkermanWorker; use WorkermanLibTimer; $ws_worker = new Worker('websocket://0.0.0.0:8000'); $ws_worker->onConnect = function($connection) { echo "Connection established "; }; $ws_worker->onMessage = function($connection, $data) use ($ws_worker) { echo "Received Message: $data "; $connections = $ws_worker->connections; foreach ($connections as $client_connection) { $client_connection->send($data); } }; Worker::runAll();
Kod di atas mencipta contoh pelayan pekerja dan mendengar pada port 8000. Apabila sambungan klien diwujudkan, fungsi panggil balik onConnect akan dicetuskan apabila mesej dihantar oleh pelanggan diterima, fungsi panggil balik onConnect akan dicetuskan.
Contoh kod pelanggan adalah seperti berikut:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Chat</title> </head> <body> <input type="text" id="message" placeholder="Type your message..."><br> <button onclick="sendMessage()">Send</button><br> <div id="chatBox"></div> <script> var socket = new WebSocket('ws://localhost:8000'); socket.onopen = function(event) { console.log("Connection established"); }; socket.onmessage = function(event) { console.log("Received Message: " + event.data); var messageBox = document.getElementById('chatBox'); messageBox.innerHTML += event.data + '<br>'; }; function sendMessage() { var messageInput = document.getElementById('message'); var message = messageInput.value; socket.send(message); messageInput.value = ''; } </script> </body> </html>
Kod di atas menggunakan WebSocket untuk mewujudkan sambungan dengan pelayan, dan mentakrifkan fungsi panggilan balik onopen dan onmessage untuk mengendalikan peristiwa penubuhan sambungan dan penerimaan mesej masing-masing. Fungsi menghantar mesej dilaksanakan melalui input dan butang, dan fungsi memaparkan rekod sembang dilaksanakan melalui div.
4. Kesimpulan
Menggunakan pekerja untuk melaksanakan fungsi sembang dalam talian adalah penyelesaian yang cekap dan berskala. Artikel ini memperkenalkan teknologi utama dan reka bentuk seni bina menggunakan Workerman untuk melaksanakan sembang dalam talian, dan memberikan contoh kod bahagian pelayan dan pelanggan. Saya berharap pembaca dapat mempelajari kaedah menggunakan Workerman untuk melaksanakan sembang dalam talian, meningkatkan kecekapan pembangunan dan membina aplikasi sembang berprestasi tinggi melalui artikel ini.
Atas ialah kandungan terperinci Teknologi utama dan reka bentuk seni bina untuk sembang dalam talian menggunakan Workerman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!