我一直在想如何使用PHP进行“真正”的(半)实时数据流传输。
可能的应用包括:聊天室,拍卖,游戏等。
所谓“真正”,我是指数据不仅仅是写在某个地方并持续轮询,而是实际上以某种方式流式传输到客户端。
所谓“半”,我的意思是如果只有从服务器到客户端的流是实时的,那么从客户端到服务器的消息就不是实时的也可以接受。
对于客户端和服务器之间的通信,我想坚持使用纯HTTP(AJAX),而不是其他协议。
通过手动刷新输出缓冲区,可以将数据流发送到客户端。
问题是要连接哪些服务器端脚本?
一旦连接成功,如何进行阻塞读取而不是轮询更改?
共享内存(shmop)扩展可以工作,但它不跨平台。
也许memcached会起作用?但我不确定是否有一种方法可以进行阻塞读取,因此又回到了轮询 - 尽管我确信memcached非常快,但我不喜欢连续轮询的想法。
有什么想法吗?
可能的应用包括:聊天室,拍卖,游戏等。
所谓“真正”,我是指数据不仅仅是写在某个地方并持续轮询,而是实际上以某种方式流式传输到客户端。
所谓“半”,我的意思是如果只有从服务器到客户端的流是实时的,那么从客户端到服务器的消息就不是实时的也可以接受。
对于客户端和服务器之间的通信,我想坚持使用纯HTTP(AJAX),而不是其他协议。
通过手动刷新输出缓冲区,可以将数据流发送到客户端。
问题是要连接哪些服务器端脚本?
一旦连接成功,如何进行阻塞读取而不是轮询更改?
共享内存(shmop)扩展可以工作,但它不跨平台。
也许memcached会起作用?但我不确定是否有一种方法可以进行阻塞读取,因此又回到了轮询 - 尽管我确信memcached非常快,但我不喜欢连续轮询的想法。
有什么想法吗?