Added DNS server

This commit is contained in:
2023-04-22 21:30:30 +10:00
parent 25c3041c67
commit b1d522d8cc
4 changed files with 430 additions and 9 deletions

View File

@@ -5,7 +5,7 @@ namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Log;
use App\Classes\Protocol\{Binkp,EMSI};
use App\Classes\Protocol\{Binkp,DNS,EMSI};
use App\Classes\Sock\SocketException;
use App\Classes\Sock\SocketServer;
use App\Models\Setup;
@@ -45,6 +45,7 @@ class ServerStart extends Command
$start->put('binkp',[
'address'=>Setup::BINKP_BIND,
'port'=>Setup::BINKP_PORT,
'proto'=>SOCK_STREAM,
'class'=>new Binkp($o),
]);
@@ -52,9 +53,18 @@ class ServerStart extends Command
$start->put('emsi',[
'address'=>Setup::EMSI_BIND,
'port'=>Setup::EMSI_PORT,
'proto'=>SOCK_STREAM,
'class'=>new EMSI($o),
]);
//if ($o->optionGet(Setup::O_DNS))
$start->put('dns',[
'address'=>Setup::DNS_BIND,
'port'=>Setup::DNS_PORT,
'proto'=>SOCK_DGRAM,
'class'=>new DNS(),
]);
$children = collect();
Log::debug(sprintf('%s: # Servers [%d]',self::LOGKEY,$start->count()));
@@ -79,7 +89,7 @@ class ServerStart extends Command
Log::withContext(['pid'=>getmypid()]);
Log::info(sprintf('%s: - Started [%s]',self::LOGKEY,$item));
$server = new SocketServer($config['port'],$config['address']);
$server = new SocketServer($config['port'],$config['address'],$config['proto']);
$server->setConnectionHandler([$config['class'],'onConnect']);
try {