PHP作为客户端连接到NodeJS Web套接字

PHP作为客户端连接到NodeJS Web套接字,php,laravel,php-socket,Php,Laravel,Php Socket,需要我的laravel应用程序连接到基于nodejs的套接字服务器。该函数需要传递自定义头以进行身份验证,并保持每1分钟ping一次连接,以防止与套接字服务器断开连接 谁能推荐一些好的库来实现上述功能呢。在这里,PHP充当客户机 提前感谢感谢您的建议,我最终使用了ratchet/pawl客户端,该客户端运行良好: 例如: $headers = ['HEADER' => 'Value']; $ip = '1.1.1.1'; \Ratchet\Client\connect($ip,[],$h

需要我的laravel应用程序连接到基于nodejs的套接字服务器。该函数需要传递自定义头以进行身份验证,并保持每1分钟ping一次连接,以防止与套接字服务器断开连接

谁能推荐一些好的库来实现上述功能呢。在这里,PHP充当客户机


提前感谢

感谢您的建议,我最终使用了ratchet/pawl客户端,该客户端运行良好:

例如:

$headers = ['HEADER' => 'Value'];
$ip = '1.1.1.1';

\Ratchet\Client\connect($ip,[],$headers)->then(function($conn) use ($payload) {
  $conn->on('message', function($msg) use ($conn) {
      $response = json_decode($msg, TRUE);
      var_dump($response);
      $conn->close();
  });

  $conn->send('Hello!');

  $conn->on('close', function ($code = null, $reason = null) use ($connector, $loop, $app) {
    echo "Connection closed ({$code} - {$reason})\n";
  });
}, function ($e) {
    echo "Could not connect: {$e->getMessage()}\n";
});

使用
CURL
可以发送任何标题和数据。并使用Cron作业进行ping。您还可以使用
shell_exec()
在PHP中运行nodejs脚本,如果您添加一些关于您现在如何连接的示例,可能会更容易提供帮助。我使用ElephanIO()实现了这一点,但该库似乎不再维护。我的建议是使用redis发布/订阅来触发从PHP到nodejs的web套接字。