php - PHP 中的文件资源持久性

标签 php persistence fsockopen

我正在开发一个基于 MSN 协议(protocol)的简单聊天 Web 应用程序。服务器通过 fsockopen() 返回的文件资源与 MSN 服务器通信。客户端通过 XMLHttpRequest 访问服务器。服务器最初登录,并打印出客户端通过 XMLHttpRequest 对象的 responseText () 接收的联系人列表(以 HTML 表格式)。

问题来了。负责与 MSN 服务器通信的文件资源必须保持事件状态,以便所有与聊天相关的功能正常工作(创建对话、跟踪离线/在线状态更改等)。但是,为了使 XMLHttpRequest 完成,PHP 脚本必须完成执行。这意味着客户端在聊天 session 进行时不会从 XMLHttpRequest 获得任何响应。

更糟糕的是文件资源无法序列化,这意味着我不能简单地将聊天 session 存储在 $_SESSION [] 占位符中。

那么,我的问题是,是否有任何可能的方法将文件资源从一个文件“转移”到另一个文件?

最佳答案

在大多数语言中,不可能在应用程序之间传递文件句柄——据我所知,大多数操作系统也不允许。

解决方案是让服务器进程作为守护进程运行——这意味着它需要在网络服务器之外运行。

http://symcbean.blogspot.com/2010/02/php-and-long-running-processes.html

http://www.phpclasses.org/browse/package/5758.html

C.

关于php - PHP 中的文件资源持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2234239/

相关文章:

php - 使用 php 在 PDF 中嵌入视频/flash

java - 使用 JPA 持久化第三方对象

c# - 支持和反对对象处理自己的持久性的原因

php - 如何在代理后面使用带有 fsockopen 的 imap

php - fsockopen() 无法在特定网络主机上运行?

php - API连接到mysql有时不执行查询

javascript - PHP:关联数组到数值数组

php - 在 MySQL 中透视一张表

php - 检查 session 变量是否由其名称的第一部分设置

java - 找不到该类的实体元数据