コード例 #1
0
        $this->send($client_id, 'Server: ' . $ws['message']);
        //$this->broadcast($client_id, $ws['message']);
    }
    function broadcast($client_id, $msg)
    {
        foreach ($this->connections as $clid => $info) {
            if ($client_id != $clid) {
                $this->send($clid, $msg);
            }
        }
    }
}
//require __DIR__'/phar://swoole.phar';
Swoole\Config::$debug = true;
Swoole\Error::$echo_html = false;
$AppSvr = new WebSocket();
$AppSvr->loadSetting(__DIR__ . "/swoole.ini");
//加载配置文件
$AppSvr->setLogger(new \Swoole\Log\EchoLog(true));
//Logger
/**
 * 如果你没有安装swoole扩展,这里还可选择
 * BlockTCP 阻塞的TCP,支持windows平台
 * SelectTCP 使用select做事件循环,支持windows平台
 * EventTCP 使用libevent,需要安装libevent扩展
 */
$enable_ssl = false;
$server = Swoole\Network\Server::autoCreate('0.0.0.0', 9443, $enable_ssl);
$server->setProtocol($AppSvr);
//$server->daemonize(); //作为守护进程
$server->run(array('worker_num' => 1, 'ssl_key_file' => __DIR__ . '/ssl/ssl.key', 'ssl_cert_file' => __DIR__ . '/ssl/ssl.crt'));
コード例 #2
0
ファイル: webserver_for_im.php プロジェクト: fyee/php-webim
<?php

define('DEBUG', 'on');
define("WEBPATH", realpath(__DIR__ . '/../'));
require_once __DIR__ . '/../vendor/autoload.php';
Swoole\Loader::vendor_init();
Swoole\Loader::addNameSpace('WebIM', __DIR__ . '/src/');
Swoole::$php->config->setPath(__DIR__ . '/apps/configs');
$AppSvr = new Swoole\Protocol\HttpServer();
$AppSvr->loadSetting(__DIR__ . '/../swoole.ini');
//加载配置文件
$AppSvr->setDocumentRoot(__DIR__);
$AppSvr->setLogger(new \Swoole\Log\EchoLog(true));
//Logger
$server = new \Swoole\Network\Server('0.0.0.0', 8888);
$server->setProtocol($AppSvr);
$server->run(array('worker_num' => 1));
コード例 #3
0
<?php

define('DEBUG', 'on');
define('WEBPATH', __DIR__);
/**
 * /vendor/autoload.php是Composer工具生成的
 * shell: composer update
 */
require __DIR__ . '/vendor/autoload.php';
/**
 * Swoole框架自动载入器初始化
 */
Swoole\Loader::vendor_init();
/**
 * 注册命名空间到自动载入器中
 */
Swoole\Loader::addNameSpace('WebIM', __DIR__ . '/src/');
$config = (require __DIR__ . '/config.php');
$webim = new WebIM\Server($config);
$webim->loadSetting(__DIR__ . "/swoole.ini");
//加载配置文件
/**
 * webim必须使用swoole扩展
 */
$server = new Swoole\Network\Server($config['server']['host'], $config['server']['port']);
$server->setProtocol($webim);
$server->run($config['swoole']);
コード例 #4
0
ファイル: echo_server.php プロジェクト: kilmas/framework
<?php

define('DEBUG', 'on');
define("WEBPATH", realpath(__DIR__ . '/../'));
require __DIR__ . '/../libs/lib_config.php';
//require __DIR__'/phar://swoole.phar';
Swoole\Config::$debug = false;
class EchoServer extends Swoole\Protocol\Base
{
    function onReceive($server, $client_id, $from_id, $data)
    {
        $this->server->send($client_id, "Swoole: " . $data);
    }
}
//设置PID文件的存储路径
Swoole\Network\Server::setPidFile(__DIR__ . '/echo_server.pid');
Swoole\Network\Server::addOption('c|config:', "要加载的配置文件");
/**
 * 显示Usage界面
 * php app_server.php start|stop|reload
 */
Swoole\Network\Server::start(function ($options) {
    $AppSvr = new EchoServer();
    $listenHost = empty($options['host']) ? '0.0.0.0' : $options['host'];
    $listenPort = empty($options['port']) ? 9501 : $options['port'];
    $server = Swoole\Network\Server::autoCreate($listenHost, $listenPort);
    $server->setProtocol($AppSvr);
    $server->run(array('worker_num' => 1));
});
コード例 #5
0
ファイル: http_server.php プロジェクト: jasonshaw/framework-1
<?php

define('DEBUG', 'on');
define("WEBPATH", realpath(__DIR__ . '/../'));
require dirname(__DIR__) . '/libs/lib_config.php';
Swoole\Config::$debug = false;
$AppSvr = new Swoole\Protocol\HttpServer();
$AppSvr->loadSetting(__DIR__ . '/swoole.ini');
//加载配置文件
$AppSvr->setDocumentRoot(__DIR__ . '/webroot');
$AppSvr->setLogger(new Swoole\Log\EchoLog(true));
//Logger
Swoole\Error::$echo_html = false;
$server = Swoole\Network\Server::autoCreate('0.0.0.0', 8888);
$server->setProtocol($AppSvr);
//$server->daemonize(); //作为守护进程
$server->run(array('worker_num' => 0, 'max_request' => 5000, 'log_file' => '/tmp/swoole.log'));
コード例 #6
0
ファイル: Swoole.php プロジェクト: matyhtf/swoole_framework
 function runHttpServer($host = '0.0.0.0', $port = 9501, $config = array())
 {
     define('SWOOLE_SERVER', true);
     define('SWOOLE_HTTP_SERVER', true);
     $this->ext_http_server = $this->http = new Swoole\Http\ExtServer($config);
     Swoole\Network\Server::$useSwooleHttpServer = true;
     $server = new Swoole\Network\Server($host, $port);
     $server->setProtocol($this->http);
     $server->run($config);
 }
コード例 #7
0
ファイル: app_server.php プロジェクト: jasonshaw/framework-1
<?php

define('DEBUG', 'on');
define('WEBPATH', realpath(__DIR__ . '/../'));
require dirname(__DIR__) . '/libs/lib_config.php';
//设置PID文件的存储路径
Swoole\Network\Server::setPidFile(__DIR__ . '/app_server.pid');
/**
 * 显示Usage界面
 * php app_server.php start|stop|reload
 */
Swoole\Network\Server::start(function () {
    $server = Swoole\Protocol\WebServer::create(__DIR__ . '/swoole.ini');
    $server->setAppPath(WEBPATH . '/apps/');
    //设置应用所在的目录
    $server->setDocumentRoot(WEBPATH);
    $server->setLogger(new \Swoole\Log\EchoLog(__DIR__ . "/webserver.log"));
    //Logger
    //$server->daemonize();                                                  //作为守护进程
    $server->run(array('worker_num' => 1, 'max_request' => 5000, 'log_file' => '/tmp/swoole.log'));
});
コード例 #8
0
ファイル: server.php プロジェクト: netstao/swoole.com
<?php

require __DIR__ . '/config.php';
//require __DIR__'/phar://swoole.phar';
//Swoole\Config::$debug = true;
Swoole\Error::$echo_html = false;
$AppSvr = new Swoole\Protocol\AppServer();
$AppSvr->loadSetting("./swoole.ini");
//加载配置文件
$AppSvr->setAppPath(__DIR__ . '/apps/');
//设置应用所在的目录
$AppSvr->setDocumentRoot(__DIR__);
$AppSvr->setLogger(new \Swoole\Log\FileLog('/tmp/swoole.log'));
//Logger
$server = new \Swoole\Network\Server('0.0.0.0', 9501);
$server->setProtocol($AppSvr);
//$server->daemonize(); //作为守护进程
$server->run(array('worker_num' => 2, 'max_request' => 1000));
コード例 #9
0
<?php

define('DEBUG', 'on');
define('WEBPATH', dirname(__DIR__));
require WEBPATH . '/libs/lib_config.php';
//设置PID文件的存储路径
Swoole\Network\Server::setPidFile(__DIR__ . '/built_webserver.pid');
/**
 * 显示Usage界面
 * php app_server.php start|stop|reload
 */
Swoole\Network\Server::start(function () {
    $config = array('document_root' => WEBPATH, 'worker_num' => 100, 'max_request' => 5000, 'log_file' => '/tmp/swoole.log');
    Swoole::$php->runHttpServer('0.0.0.0', 9501, $config);
});
コード例 #10
0
<?php

define('DEBUG', 'on');
define('WEBPATH', dirname(__DIR__));
require WEBPATH . '/libs/lib_config.php';
//设置PID文件的存储路径
Swoole\Network\Server::setPidFile(__DIR__ . '/built_webserver.pid');
/**
 * 显示Usage界面
 * php app_server.php start|stop|reload
 */
Swoole\Network\Server::start(function () {
    $config = array('document_root' => WEBPATH, 'log_file' => '/tmp/swoole.log', 'charset' => 'UTF-8');
    Swoole::$php->runHttpServer('0.0.0.0', 9501, $config);
});
コード例 #11
0
        $this->send($client_id, 'Server: ' . $ws['message']);
        //$this->broadcast($client_id, $ws['message']);
    }
    function broadcast($client_id, $msg)
    {
        foreach ($this->connections as $clid => $info) {
            if ($client_id != $clid) {
                $this->send($clid, $msg);
            }
        }
    }
}
//require __DIR__'/phar://swoole.phar';
Swoole\Config::$debug = true;
Swoole\Error::$echo_html = false;
$AppSvr = new WebSocket();
$AppSvr->loadSetting(__DIR__ . "/swoole.ini");
//加载配置文件
$AppSvr->setLogger(new \Swoole\Log\EchoLog(true));
//Logger
/**
 * 如果你没有安装swoole扩展,这里还可选择
 * BlockTCP 阻塞的TCP,支持windows平台
 * SelectTCP 使用select做事件循环,支持windows平台
 * EventTCP 使用libevent,需要安装libevent扩展
 */
$enable_ssl = false;
$server = new \Swoole\Network\Server('0.0.0.0', 9443, $enable_ssl);
$server->setProtocol($AppSvr);
//$server->daemonize(); //作为守护进程
$server->run(array('worker_num' => 1, 'ssl_key_file' => __DIR__ . '/ssl/ssl.key', 'ssl_cert_file' => __DIR__ . '/ssl/ssl.crt'));
コード例 #12
0
ファイル: server.php プロジェクト: QinLingFeng/SwooleTodpole
                    return;
            }
        }
    }
    /**
     * 广播
     * @param $client_id
     * @param $msg
     */
    public function broadcast($client_id, $msg, $ignoreSelf = true)
    {
        foreach ($this->connections as $clid => $info) {
            if ($ignoreSelf && $client_id == $clid) {
                continue;
            }
            $this->send($clid, $msg);
        }
    }
}
$AppSvr = new WebSocket();
$AppSvr->loadSetting(CONFIG_PATH . "/swoole.ini");
//加载配置文件
$AppSvr->setLogger(new \Swoole\Log\EchoLog(true));
//Logger
$server = Swoole\Network\Server::autoCreate('0.0.0.0', 9443, false);
$server->setProtocol($AppSvr);
if ('off' === DEBUG) {
    $server->daemonize();
}
//作为守护进程
$server->run(['worker_num' => 1, 'max_request' => 5000, 'heartbeat_check_interval' => 60]);