PHP

php swoole协程如何启动

小樊
86
2024-12-10 13:56:56
栏目: 编程语言

要使用Swoole协程,首先确保已经安装了Swoole扩展。接下来,我将向您展示如何在PHP中使用Swoole协程启动一个简单的Web服务器。

  1. 创建一个新的PHP文件,例如swoole_coroutine_server.php

  2. 在文件中编写以下代码:

<?php
// 引入Swoole命名空间
use Swoole\Coroutine;
use Swoole\Http\Server;

// 定义一个处理请求的异步函数
function handleRequest($request, $response)
{
    $response->header("Content-Type", "text/plain");
    $response->end("Hello World from Swoole Coroutine!\n");
}

// 启动一个协程HTTP服务器
$server = new Server("127.0.0.1:9501", 9501);

// 监听WebSocket连接
$server->on('WebSocket', function (Server $server, $frame) {
    $fd = $frame->fd;
    echo "Client {$frame->fd} connected.\n";

    // 启动一个协程来处理WebSocket消息
    Coroutine::create(function () use ($server, $fd) {
        while ($server->push($fd, "Hello from Swoole Coroutine WebSocket!") > 0) {
            usleep(100000); // 每100ms发送一条消息
        }
    });
});

// 启动服务器并监听请求
$server->start();
  1. 在命令行中,使用以下命令运行PHP脚本:
php swoole_coroutine_server.php

现在,您的服务器已经在127.0.0.1:9501上启动,并使用Swoole协程处理请求。您可以使用浏览器或其他HTTP客户端访问该地址,查看服务器响应。同时,服务器还会监听WebSocket连接,并在收到连接时发送一条消息。

0
看了该问题的人还看了