您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman属性-protocol(基于tcp实现http)
发布时间:2021-11-29 21:42:03编辑:雪饮阅读()
test.php:
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('tcp://0.0.0.0:8686');
$worker->protocol = 'Workerman\\Protocols\\Http';
$worker->onMessage = function(TcpConnection $connection, $data)
{
var_dump($_GET, $_POST);
$connection->send("hello");
};
// 运行worker
Worker::runAll();
?>
实例运行:
服务端:
[root@izj6c2jeancylo0ppo4vz5z workerman]# php test.php start
Workerman[test.php] start in DEBUG mode
---------------------------------------- WORKERMAN -----------------------------------------
Workerman version:4.0.22 PHP version:7.0.33
----------------------------------------- WORKERS ------------------------------------------
proto user worker listen processes status
tcp root none tcp://0.0.0.0:8686 1 [OK]
--------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
array(0) {
}
array(0) {
}
客户端:
[root@izj6c2jeancylo0ppo4vz5z ~]# elinks 127.0.0.1:8686 -dump
hello
以上实例等价于直接使用http协议(workerman内置):
test.php:
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
/**
* 首先会查看用户是否有自定义\Protocols\Http协议类,
* 如果没有使用workerman内置协议类Workerman\Protocols\Http
*/
$worker = new Worker('http://0.0.0.0:8686');
$worker->onMessage = function(TcpConnection $connection, $data)
{
var_dump($_GET, $_POST);
$connection->send("hello");
};
// 运行worker
Worker::runAll();
?>
实例运行:
服务端:
[root@izj6c2jeancylo0ppo4vz5z workerman]# php test.php start
Workerman[test.php] start in DEBUG mode
----------------------------------------- WORKERMAN -----------------------------------------
Workerman version:4.0.22 PHP version:7.0.33
------------------------------------------ WORKERS ------------------------------------------
proto user worker listen processes status
tcp root none http://0.0.0.0:8686 1 [OK]
---------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
array(0) {
}
array(0) {
}
客户端:
[root@izj6c2jeancylo0ppo4vz5z ~]# elinks 127.0.0.1:8686 -dump
hello
关键字词:workerman,protocol,tcp,http