首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Socket.io中使用PHP

在Socket.io中使用PHP
EN

Stack Overflow用户
提问于 2011-06-19 05:03:20
回答 9查看 214.2K关注 0票数 143

是否可以在客户端使用Sockets.io并在服务器端与基于PHP的应用程序通信?PHP甚至支持这种“长连接”的代码编写方式吗?

我找到的所有用于socket.io的示例代码似乎都是用于服务器端的node.js的,所以在那里没有帮助。

EN

回答 9

Stack Overflow用户

发布于 2011-11-18 16:25:06

现在回答这个问题可能有点晚了,但这是我发现的。

我不想争论nodes是否比php做得更好,这不是重点。

解决方案是:我还没有找到任何socket.io的实现。

但是有一些方法可以实现WebSockets。有一个this jQuery plugin允许你使用Websockets,但对于不支持的浏览器来说,它的性能会下降。在PHP端,this class似乎是PHP服务器中使用最广泛的。

票数 105
EN

Stack Overflow用户

发布于 2015-09-30 18:09:13

如果你真的想使用PHP作为你的socket.io后端,这是我找到的。两个socket.io php服务器端替代。

https://github.com/walkor/phpsocket.io

https://github.com/RickySu/phpsocket.io

第一个存储库的示例代码如下。

代码语言:javascript
复制
use PHPSocketIO\SocketIO;

// listen port 2021 for socket.io client
$io = new SocketIO(2021);
$io->on('connection', function($socket)use($io){
  $socket->on('chat message', function($msg)use($io){
    $io->emit('chat message', $msg);
  });
});
票数 17
EN

Stack Overflow用户

发布于 2011-06-19 07:39:25

呃,你为什么要这么做?让PHP留在后端,让NodeJS/Sockets来做它的非阻塞工作。

这里有一些东西可以让你入门:http://groups.google.com/group/socket_io/browse_thread/thread/74a76896d2b72ccc

就我个人而言,我使用一个端点运行express,该端点专门侦听来自PHP的交互。

例如,如果我向用户发送了一封电子邮件,我希望socket.io向用户显示实时通知。

想要从socket.io到php的交互,那么你可以这样做:

代码语言:javascript
复制
var http = require('http'),
            host = WWW_HOST,
            clen = 'userid=' + userid,
            site = http.createClient(80, host),
            request = site.request("POST", "/modules/nodeim/includes/signonuser.inc.php",  
                {'host':host,'Content-Length':clen.length,'Content-Type':'application/x-www-form-urlencoded'});                     

request.write('userid=' + userid);      
request.end();  

说真的,PHP很适合做服务器端的事情,让它在这个领域中没有立足之地的连接。当你有websockets或flashsockets的时候,为什么要做长轮询呢?

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6398887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档