gpt4 book ai didi

php - 如何在 php 站点上的专用 Node.js 服务器上使用 Socket.io?

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:40 25 4
gpt4 key购买 nike

对于用 PHP 编码的 Web 应用程序,我使用 Socket.io 提供了许多传统上使用 AJAX 的功能,例如实时聊天。为了在不给 Apache 服务器造成压力的情况下使用 Websockets,我有专门为 Websocket 连接运行 node.js 的服务器。我打算使用 DNode 来允许 php 脚本调用 node.js Websocket 函数。我该怎么做?如果可能,请提供一个简单的例子。

我意识到这可能不是最有效的结构,但由于同时使用实时功能的大量连接,从 PHP 运行 Websockets 将非常占用服务器资源。我还知道还有其他方法可以实现服务器和客户端之间的实时通信,例如长轮询和永久 iframe,但选择 Websockets 背后有特定的原因。

最佳答案

这是将数据从 PHP 发送到 Node.js 的替代方法:

<?php

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/user/img.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost:8082/test'); /* Nodejs */
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>

更多信息here .

在 app.js 中

app.post('/test', function(req, res){
console.log("name: " + req.body.name);
...

希望对您有所帮助。

关于php - 如何在 php 站点上的专用 Node.js 服务器上使用 Socket.io?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19214417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com