【问题标题】:How to create asynchronous socket server using php?如何使用 php 创建异步套接字服务器?
【发布时间】:2017-03-07 09:50:21
【问题描述】:

我正在尝试创建一个异步套接字服务器来处理套接字客户端,在需要时向客户端发送消息。我使用reactphp library 来实现它,但我做不到正确,我的服务器仍然被阻止。我是这个图书馆的新手,请帮忙。

require 'vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$socket->on('connection', function ($conn) {
    $conn->pipe($conn);
});
echo "Socket server listening on port 4000.\n";
echo "You can connect to it by running: telnet localhost 4000\n";
$socket->listen(4200);
$loop->run();


// code bottom doesn't run because of blocking socket

【问题讨论】:

  • 尝试在 $loop 调用之前添加你的代码

标签: php sockets asynchronous reactphp


【解决方案1】:

$loop->run(); 运行事件循环并且永远不会返回,除非您停止循环。循环是您的调度程序,并在事件发生时调用您的事件处理程序。

如果你想对事件做出反应,你必须在运行循环之前注册事件监听器。

【讨论】:

    猜你喜欢
    • 2021-10-26
    • 2018-11-22
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    相关资源
    最近更新 更多