<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\Log; use App\Classes\Protocol\EMSI; use App\Classes\Sock\Exception\SocketException; use App\Classes\Sock\SocketServer; use App\Models\Setup; class CommEMSIReceive extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'comm:emsi:receive'; /** * The console command description. * * @var string */ protected $description = 'EMSI receive'; /** * Execute the console command. * * @return mixed * @throws \Exception */ public function handle() { Log::info('Listening for EMSI connections...'); $o = Setup::findOrFail(config('app.id')); $server = new SocketServer($o->emsi_port,$o->emsi_bind); $server->handler = [new EMSI($o),'onConnect']; try { $server->listen(); } catch (SocketException $e) { if ($e->getMessage() === 'Can\'t accept connections: "Success"') Log::debug('Server Terminated'); else Log::emergency('Uncaught Message: '.$e->getMessage()); } } }