public function __construct($uri, $mode = SWOOLE_BASE)
{
$p = parse_url($uri);
if ($p) {
switch (strtolower($p['scheme'])) {
case 'ws':
case 'wss':
$this->server = new \Hprose\Swoole\WebSocket\Server($uri, $mode);
break;
case 'http':
case 'https':
$this->server = new \Hprose\Swoole\Http\Server($uri, $mode);
break;
case 'tcp':
case 'tcp4':
case 'tcp6':
case 'ssl':
case 'sslv2':
case 'sslv3':
case 'tls':
case 'unix':
$this->server = new \Hprose\Swoole\Socket\Server($uri, $mode);
break;
default:
throw new Exception("Can't support this scheme: {$p['scheme']}");
}
} else {
throw new \Exception("Can't parse this url: " . $uri);
}
}