PHP/C++服务器来处理socket.io客户端


PHP/C++ server to handle socket.io clients

有一个网站使用socket.io作为其"API"。从本质上讲,任何人都可以下载网站的源代码,并对其进行修改,从而轻松创建自己的客户端。例如,我有这样六个客户端,它们都运行相同的自定义客户端脚本。该脚本托管在我自己的域上,而不是带有socket.io API的域。

我希望能够跟踪连接的人,并保留某些数据的总数。例如,如果每个客户端都有0.5的余额,我希望他们能够知道,由于服务器的原因,总数是3的余额。

我能想到的最明显的方法是用AJAX和对MySQL的调用来跟踪事情,但这似乎很冗长。

我也可以做CURL,但这在技术上很有挑战性。

有没有一种简单直接的方法可以简单地将六个不同socket.io客户端的余额相加,并将信息发送回他们?

在PHP后端使用对象缓存层,如APC或memcached作为共享内存。这样,您就可以保持不同实例/客户端之间的同步。

请记住,您将不得不实现一些多处理安全性,因为这不是线程安全的。

例如:

/* PHP application 1: */
(($value = apc_fetch("IncrementValue")) != FALSE) ? apc_store("IncrementValue",$value+1) : apc_store("IncrementValue",1);

另一个可以这样访问它:

echo apc_fetch("IncrementValue");

这是一种快速但粗糙的会话间沟通方式。