一个用来快速搭建websocket和http服务器的框架,只需要几行代码就可以搭建一个服务器。使用多进程和IO复用来实现高并发;使用共享内存进行进程间的通信。支持守护进程,支持服务器的平滑重启。
进入到根目录中,运行php http.php start即可开启http服务
除了使用网站根目录的http.php外,你也可以编写自己的入口文件,下面是服务器配置介绍
//初始化一个服务器
$server = new \Wangjian\Socket\HttpServer('115.29.198.111', 11111);
//配置worker进程数
$server->wokers = 4;
//服务器是否以守护进程方式运行
$server->deamon = false;
//连接的timeout值,默认为60秒
$server->timeout = 60;
//服务器配置
$server->hosts = array(
'default' => [
'root' => '/data/dmz/test/www',
'index' => 'index.php index.html index.htm'
],
'test.test.com' => [
'root' => '/data/dmz/test/test',
'index' => 'index.php index.html index.htm'
]
);
//运行
$server->runAll();
进入到根目录中,运行php websocket.php start即可开启服务
除了使用网站根目录的websocket.php外,你也可以编写自己的入口文件,下面是服务器配置介绍
require_once __DIR__.'/vendor/autoload.php';
//初始化一个服务器
$server = new \Wangjian\Socket\WebSocketServer('115.29.198.111', 11111);
//配置worker进程数
$server->wokers = 2;
//服务器是否以守护进程方式运行
$server->deamon = false;
//连接的timeout值,默认为60秒
$server->timeout = 3600;
//服务器接受客户端连接时调用的回调函数
$server->onConnection = function($connection) {
$pid = posix_getpid();
echo "process $pid accept the connection from the client ".$connection->getRemoteAddress()."\r\n";
};
//服务器接受接收客户端消息时触发的回调函数
$server->onMessage = function($connection, $message) {
echo "message from client: $message\r\n";
$connection->sendString($message);
};
//服务器连接出错时触发的回调函数
$server->onError = function() {};
//服务器连接关闭时触发的回调函数
$server->onClose = function() {};
//运行
$server->runAll();
可以通过调用php http.php status来查看服务器的运行情况
可以通过调用php http.php stop来停止服务器
可以通过调用php http.php restart来平滑重启服务器