Сервер на чем?
вот пример для nodejs
1 создадим папку
2 выполним yarn add ws
3 создадим файл wss.js c содержимым
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something');
});
4 запустим WebSocket сервер: node wss.js
5 сделаем клиент на javascript
<script>
let ws = new WebSocket(`ws://localhost:8080`);
ws.onerror = () => console.log('WebSocket error');
ws.onopen = () => console.log('WebSocket connection established');
ws.onclose = () => console.log('WebSocket connection closed');
ws.onmessage = (message) => console.log('onmessage: ', message, message.data)
ws.onopen = () => {
ws.send('message', 'message via emit')
}
</script>
6 все
Или например для пыха, можно взять что-то типа Ratchet (
http://socketo.me/)
<?php
namespace App;
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
require_once './SocketController.php';
require __DIR__ . '/vendor/autoload.php';
// configurations
$server = IoServer::factory(
new HttpServer(
new WsServer(
new SocketController()
)
),
8080 // the port of the web socket
);
$server->run();
Написать свой SocketController который будет обрабатывать теже message, error и т.д.