[JS][PHP] Membuat Websocket Javascript
Requirements:
- PHP 5.6+ (minimum)
Websocket merupakan standard baru untuk berkomunikasi, dan cocok untuk aplikasi chat, live server, live listener. Hampir sama dengan AJAX namun perbedaannya ada pada kecepatan dan CPU usage pada device client maupun server. Intinya lebih ringan lah.
Websocket ini dapat menerima request apapun dan mendistribusikannya secara instant dari perubahan data sebelumnya. Berikut Cara membuat websocket tanpa NODEJS menggunakan Pure Javascript dan PHP:
websocket.js
/** websocket steam */ var socket; socket_start(); //start websocket function socket_start() { if (!socket) { //if socket is null console.log('WebSocket Started'); //start server socket = socket_server(); } try { socket.onopen = function (msg) { //console.log('socket initialized'); }; socket.onmessage = function (msg) { var data = JSON.parse(msg.data); //PARSING RESPONSE DATA }; socket.onclose = function (msg) { console.log({ closed: socket }); }; } catch (ex) { console.log(ex); } } function socket_server() { console.log('Socket Initialized'); // Set YOUR PHP FILE URL var host = '/websocket/server.php'; if (!!window.EventSource) { var socket = new EventSource(host); } else { var socket = new WebSocket(host); } return socket; } function socket_stop() { if (socket != null) { console.log("WebSocket Stopped"); socket.close(); socket = null; } } function socket_check(){ return socket; }
Usage:
- Checking socket: befungsi untuk mengecek apakah socket sudah berjalan atau tidak.
- Parsing response data
if (!socket_check()){ /* Socket tidak berjalan */ } --- OR --- if (socket_check() === null){ /* Socket tidak berjalan */ } --- OR --- if (socket_check()){ /* Socket berjalan */ }
socket.onmessage = function (msg) { //function socket_start() var data = JSON.parse(msg.data); //PARSING RESPONSE DATA DISINI };
server.php
<?php header('X-Robots-Tag: noindex, nofollow', true); header('Content-Type: text/event-stream'); header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); header('Cache-Control: post-check=0, pre-check=0', false); header('Cache-Control: no-cache'); function SEND($id, $msg) { echo "id: $id" . PHP_EOL; $data = trim(json_encode([ //encoding JSON untuk data yang panjang 'array_key' => 'array_value', ])); echo "data: $data" . PHP_EOL; echo PHP_EOL; ob_flush(); flush(); } $serverTime = time(); SEND($serverTime, 'server time: ' . date('h:i:s', time())); exit;
Update: Simple Websocket
- javascript
- php
- websocket
- web socket
- simple websocket
- websocket simple
- websocket javascript php
Incoming terms:
Comments
Post a Comment
Bila Ada posting yang kurang, atau error atau yang lainnya, silahkan tinggalkan komentar agar artikel/post di perbaiki.
Jangan Lupa Cek Box "Notify Me" agar tahu komentar kamu dibalas oleh saya.
If there are any posts that are missing, or error or anything else, please leave a comment for the article / post to be fixed.
Do not Forget Check Box "Notify Me" to know our comments replied by me.