WebSocketServer - A WebSocket server class.
Via Composer
$ composer require dimrakitin/websocketserver
server.php
define('ADDRESS', '127.0.0.1');
define('PORT', 5555);
$server = new WebSocketServer\WebSocketServer(ADDRESS, PORT);
echo 'Server started '.ADDRESS.':'.PORT."\n";
** Add callback function**
$server->onConnect = function ($server, $client) {
socket_getpeername($client['socket'], $ip);
echo 'New connect '.$ip."\n";
};
$server->onDisconnect = function ($server, $client) {
socket_getpeername($client['socket'], $ip);
echo 'Disconnect '.$ip."\n";
};
$server->onMessage = function ($server, $client, $data) {
socket_getpeername($client['socket'], $ip);
echo 'onMessage '.$ip.' - '.$data."\n";
$server->sendAll($data);
};
Run loop
$server->run();
Client code
var wsUri = "ws://localhost:5555";
websocket = new WebSocket(wsUri);
websocket.onopen = function(ev) {};
websocket.onmessage = function(ev) {
var data = ev.data;
console.log(data);
};
websocket.onclose = function(ev) {
console.log("onclose");
};
websocket.onerror = function(ev) {};
window.onbeforeunload = function() {
websocket.close();
websocket = null;
};
Full example you can see at github
The MIT License (MIT). Please see License File for more information.