2

服务器脚本将连续运行。

其他脚本是普通网站,应该能够与服务器脚本通信。

我遇到了 Ratchet ( https://github.com/cboden/Ratchet ),尝试了这里的示例:http: //socketo.me/docs/hello-world并且它有效:D

但是客户端需要javascript。我想用 PHP 将请求发送到服务器,因为消息是 linux 命令,我不希望站点访问者能够将 linux 命令发送到我的服务器脚本。此外,只应考虑来自“localhost”脚本的消息。

是否可以用 Ratchet 做到这一点?或者有其他解决方案吗?

4

2 回答 2

2

Ratchet 不提供客户。我会为您的 php websocket 客户端查看phpwebsocket 。

要确保客户端连接来自 Ratchet 中的 localhost,请更改推送集成教程中的这段代码:

// Set up our WebSocket server for clients wanting real-time updates
$webSock = new React\Socket\Server($loop);
// Binding to 0.0.0.0 means remotes can connect
//$webSock->listen(8080, '0.0.0.0');
// Binding to 127.0.0.1 means the only client that can connect is itself
$webSock->listen(8080, '127.0.0.1');
$webServer = new Ratchet\Server\IoServer(
    new Ratchet\WebSocket\WsServer(
        new Ratchet\Wamp\WampServer(
            $pusher
        )
    ),
    $webSock
);
于 2013-07-23T03:45:29.113 回答
1

您需要创建一个代理 PHP 脚本来处理 javascript 请求并将其转换为 CLI 命令到您的棘轮脚本。

于 2013-07-20T07:34:35.367 回答