https://www.workerman.net/doc/webman#/process?id=%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e8%af%b4%e6%98%8e
这里缺少一个配置services ,文档里面没有,这是看意思是想做进程内再开一个端口监听
不然start.php中 如下代码不会起作用
foreach ($config['services'] ?? [] as $server) {
if (!class_exists($server['handler'])) {
echo "process error: class {$config['handler']} not exists\r\n";
continue;
}
$listen = new Worker($server['listen'] ?? null, $server['context'] ?? []);
if (isset($server['listen'])) {
echo "listen: {$server['listen']}\n";
}
$class = Container::make($server['handler'], $server['constructor'] ?? []);
worker_bind($listen, $class);
$listen->listen();
}
process.php
<?php
use support\view\Raw;
use support\view\Twig;
use support\view\Blade;
use support\view\ThinkPHP;
return [
// 文件更新检测
'monitor' => [
'handler' => process\FileMonitor::class,
'constructor' => [
// 监控这些目录
'monitor_dir' => [
app_path(),
config_path(),
base_path() . '/process',
base_path() . '/support',
base_path() . '/resource'
],
// 监控这些后缀的文件
'monitor_extenstions' => [
'php', 'html', 'htm'
]
],
'services'=>[ //注意这里
[
'handler' => process\Test::class,
'listen' => "http://127.0.0.1:8090",
],
]
],
// 其它进程
/*'websocket' => [
'handler' => process\Websocket::class,
'listen' => 'websocket://0.0.0.0:8888',
'count' => 10,
],*/
];
对,这个是在进程内部开启监听用的。用的不多,所以没有写入文档。
请问这个进程内部监听是做什么用的呢
有时候一个进程只开一个协议端口可能不够用。这时候可以再开一个协议端口