Cara membuat websocket dengan Javascript JS dan PHPUpdate: Simple WebsocketRequirements: PHP 5.6 minimumWebsocket merupakan standard
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: