首页 > 解决方案 > PHP 作为客户端连接到 NodeJS Web 套接字

问题描述

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

任何人都可以推荐任何好的库来实现上述功能。在这里,PHP 充当客户端

提前致谢

标签: phplaravelphp-socket

解决方案


感谢您的建议,我最终使用了棘轮/棘爪客户端,效果很好:

例子:

$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";
});

推荐阅读