mirror of
https://github.com/YGGverse/next.git
synced 2026-04-01 02:05:29 +00:00
implement multi-protocol async server based on ratchet library #1
This commit is contained in:
parent
296525aac3
commit
ec60ef5e5b
8 changed files with 707 additions and 387 deletions
59
src/server.php
Normal file
59
src/server.php
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
<?php
|
||||
|
||||
// Load dependencies
|
||||
require_once __DIR__ .
|
||||
DIRECTORY_SEPARATOR . '..'.
|
||||
DIRECTORY_SEPARATOR . 'vendor' .
|
||||
DIRECTORY_SEPARATOR . 'autoload.php';
|
||||
|
||||
// Init environment
|
||||
$environment = new \Yggverse\Next\Model\Environment(
|
||||
$argv,
|
||||
json_decode(
|
||||
file_get_contents(
|
||||
__DIR__ .
|
||||
DIRECTORY_SEPARATOR . '..'.
|
||||
DIRECTORY_SEPARATOR . 'default.json'
|
||||
),
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
// Init filesystem
|
||||
$filesystem = new \Yggverse\Next\Model\Filesystem(
|
||||
$environment->get('path')
|
||||
);
|
||||
|
||||
// Start server
|
||||
try
|
||||
{
|
||||
switch ($environment->get('type'))
|
||||
{
|
||||
case 'nex':
|
||||
|
||||
$server = \Ratchet\Server\IoServer::factory(
|
||||
new \Yggverse\Next\Controller\Nex(
|
||||
$environment,
|
||||
$filesystem
|
||||
),
|
||||
$environment->get('port'),
|
||||
$environment->get('host')
|
||||
);
|
||||
|
||||
$server->run();
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
throw new \Exception(
|
||||
_('valid server type required!')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Show help
|
||||
catch (\Exception $exception)
|
||||
{
|
||||
// @TODO
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue