Coroutine\Server
创建协程TCP
服务器。与Server
模块不同之处,Coroutine\Server
是完全协程化实现的服务器。因此可以:
- 动态创建销毁,在运行时可以动态监听端口,也可以动态关闭服务器
- 处理连接的过程是完全同步的,程序可以顺序处理
Connect
、Receive
、Close
事件
在
4.4
以上版本中可用
短命名
可使用Co\Server
短名。
使用实例
use Swoole\Coroutine\Server;
use Swoole\Coroutine\Server\Connection;
go(function () {
$server = new Server('0.0.0.0', 9601, false);
$server->handle(function (Connection $conn) use ($server) {
while('' !== $data = $conn->recv()) {
$json = json_decode($data, true);
if(is_array($json) && 'hello' === $json['data']) {
$conn->send("world\n");
}
}
echo 'disconnected', PHP_EOL;
});
$server->start();
});