Manfaatkan kuasa data masa nyata dengan penyepaduan WebSocket DronaHQ! Tutorial ini menunjukkan membina papan pemuka interaktif untuk strim data langsung, menghapuskan keperluan untuk penyegaran halaman yang berterusan dan penyelesaian bahagian belakang yang kompleks. Kami akan memanfaatkan Objek JS Global DronaHQ untuk fungsi dan pembolehubah boleh guna semula, membolehkan kemas kini langsung yang lancar merentas aplikasi anda. Sesuai untuk pembangun yang bertujuan untuk meningkatkan penglibatan pengguna atau mencipta papan pemuka pemantauan masa nyata.
Projek ini mempamerkan:
Objek JS Global DronaHQ menyediakan fungsi dan pembolehubah JavaScript boleh guna semula yang boleh diakses merentas keseluruhan akaun anda. Gunakannya dalam Pengikatan Data, Tindakan Acara, Transformasi JS dan banyak lagi. Setelah disimpan, ia tersedia dalam mana-mana apl, mempromosikan penggunaan semula dan kecekapan kod.
Kelebihan Utama:
Antara muka pengguna termasuk:
WebSockets menyediakan komunikasi dupleks penuh melalui satu sambungan TCP, membolehkan pelayan menolak data kepada pelanggan apabila ia tersedia. Ini sesuai untuk aplikasi masa nyata seperti papan pemuka kewangan dan program sembang. Penyepaduan WebSocket DronaHQ mencipta antara muka dinamik yang mengemas kini serta-merta tanpa menyegarkan atau mengundi. Untuk menyelam lebih mendalam ke dalam WebSockets dengan DronaHQ, klik di sini.
<code class="language-javascript">let socket = null; // WebSocket connection let tableData = {}; // Stores latest data // Logs messages to the console function logToConsole(message) { console.log(message); } // Starts WebSocket connection function startWebSocket(symbol) { const streamUrl = `wss://stream.binance.com:9443/ws/${symbol}@trade`; socket = new WebSocket(streamUrl); socket.onopen = () => logToConsole(`Connected to ${symbol}.`); socket.onmessage = (event) => { const data = JSON.parse(event.data); const price = parseFloat(data.p).toFixed(2); const symbol = data.s.toUpperCase(); const time = new Date(data.T).toLocaleTimeString(); logToConsole(`Received data for ${symbol}: Time - ${time}, Price - $${price}`); tableData[symbol] = { time, price: `$${price}` }; UTILITY.SETCTRLVALUE([{ name: "tablegrid", value: [{ time, price: `$${price}` }] }]); }; socket.onerror = (error) => logToConsole(`WebSocket Error: ${error.message}`); socket.onclose = () => logToConsole(`WebSocket closed.`); } // Stops WebSocket connection function stopWebSocket() { if (socket) { logToConsole("Closing WebSocket..."); socket.onclose = () => logToConsole("WebSocket closed."); socket.onerror = (error) => logToConsole(`Error closing: ${error.message}`); socket.close(); socket = null; logToConsole("WebSocket stopped."); } else { logToConsole("No active connection."); } } // Export functions for DronaHQ const ExportModule = { startWebSocket, stopWebSocket };</code>
Dalam DronaHQ, gunakan startWebSocket
dan stopWebSocket
dalam Pertanyaan Data untuk menyepadukan kefungsian WebSocket.
Contoh JSCode
untuk mengosongkan jadual pada beban apl:
<code class="language-javascript">async function JSCode(output) { if (typeof Formbuilder === "undefined") { JSOBJECTS.stopWebSocket(); } UTILITY.SETCTRLVALUE([{ name: "tablegrid", value: [] }]); return output; }</code>
Konfigurasikan pencetus dalam Aliran Tindakan kawalan butang anda:
Projek ini menyerlahkan kuasa keupayaan WebSocket DronaHQ untuk membina aplikasi masa nyata yang dinamik. Gabungan antara muka mesra pengguna dan kod boleh guna semula memudahkan untuk melaksanakan penstriman data langsung untuk pelbagai aplikasi.
Atas ialah kandungan terperinci Menyediakan WebSocket dalam DronaHQ. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!