我对 ReactPHP 相当陌生,但我正在尝试实现一些起初看起来有点棘手的东西。我已经设置了一个 php 脚本,它充当服务器,通过套接字监听连接。建立连接后,它会向连接发送一个字符串。让我们称之为它server.php
,它看起来如下:
use React\Socket\ConnectionInterface;
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server('127.0.0.1:8080', $loop);
$socket->on('connection', function(ConnectionInterface $connection){
$connection->write('random string should come here');
});
echo "Listening on {$socket->getAddress()}\n";
$loop->run();
该文件将作为后台程序在服务器上运行,等待连接,以便将字符串返回给它们。现在,我想要实现的是编写一个客户端文件,它连接到这个“服务器”,并等待,直到它得到他的响应。当它得到响应时,它应该echo
输出响应然后退出。(关闭连接和文件)
我想我可以通过创建一个我称之为假循环的东西来做到这一点,客户端进入其中,然后循环直到找到响应,然后退出循环。但是没有更简单的方法来实现这一点吗?
由于以下情况,我需要这个:我的服务器将接受一个密码,我将在初始化时给他,用它来解密一些 API 信息。当有人连接到现在可以访问 API 的服务器时,它应该从它访问的 API 返回一些数据。API 的可见性可以公开,但其他人应该无法在 API 上执行写入命令,而且由于我无法为其创建单独的密钥,一个用于读取数据(应该是公共的),一个用于读取数据对于执行数据(不应该公开),这是我能想象的唯一场景,它仍然保证将数据写入 API 的安全。