<?php 
 
use App\Socket\Server; 
use App\Core\Colis\Colis; 
use Ratchet\Http\HttpServer; 
use Ratchet\Server\IoServer; 
use Ratchet\WebSocket\WsServer; 
 
set_exception_handler(function ($exception) { 
    $file = __DIR__ . '/storage/logs/' . time() . '.log'; 
    $log = json_encode([ 
        'message' => $exception->getMessage(), 
        'file' => $exception->getFile(), 
        'line' => $exception->getLine(), 
        'code' => $exception->getCode(), 
    ], JSON_PRETTY_PRINT); 
    file_put_contents($file, $log); 
    echo "\n[*] Error: {$exception->getMessage()} => {$exception->getFile()} @ Line {$exception->getLine()}\n"; 
}); 
 
require 'vendor/autoload.php'; 
require 'colis.php'; 
 
$port = 10000; 
$colis = Colis::getListeners(); 
 
$server = new Server($colis); 
$IoServer = IoServer::factory( 
    new HttpServer( 
        new WsServer($server) 
    ), 
    $port 
); 
 
setLoop($IoServer->loop); 
 
require 'app/Core/Helpers/socketHelperFunctions.php'; 
require 'app/Core/event-listeners.php'; 
 
echo "\n[*] Socket-Server running on port {$port}\n"; 
 
$server->init($argv); 
$IoServer->run();
 
 |