如何获取 PHP 脚本以从已运行的进程发送和接收数据?

Posted

技术标签:

【中文标题】如何获取 PHP 脚本以从已运行的进程发送和接收数据?【英文标题】:How do I get a PHP script to send and receive data from an already running process? 【发布时间】:2010-09-25 10:57:29 【问题描述】:

我正在尝试为 Web 创建一个简单的 AJAX 到 Telnet 客户端。我这样做可能是在重新发明***,但这对我自己来说是一个学习项目。目前我还没有写任何东西,我只是想把这个想法包裹在我的脑海中。它不一定是 php

如果我有一个支持多个连接的 telnet 客户端已经在其自己的进程中运行,我如何获得一个 PHP 脚本,当客户端浏览器要求能够与客户端通信时触发?

例如,我希望 PHP 脚本能够告诉已经运行的进程它是哪个客户端,并从 telnet 进程接收任何新数据。

【问题讨论】:

【参考方案1】:

对于 PHP,您所说的是通过 shell 进行接口,对吗?这完全取决于您尝试连接的 telnet 客户端,以及它支持的 CLI 选项。为此打开一个流可能需要让每个 telnet 会话将其 STDIO 输出到一个文本文件,然后让 PHP 读取该文本文件并显示“差异”。

使用 PHP 中的 Fsockopen(),你真的不需要与其他程序交互,你可以直接在 PHP 中运行套接字命令并在那里得到结果。

PHP:Fsockopen

【讨论】:

【参考方案2】:

即使连接需要持久化?

编辑:没关系,我想我有个主意。

我将自己编写客户端部分,但如果它也可以充当服务器,PHP 通过连接到它并提供相关数据来调用它,以便它可以找出用户需要哪个连接......乔治,我想我明白了!

edit2:吉姆就是这么说的。谢谢吉姆。

【讨论】:

【参考方案3】:

我将创建一个作为守护进程运行的 telnet 客户端。它将负责创建和维护 telnet 会话并缓冲任何接收到的数据。

然后您的 PHP 脚本可以使用 TCP 连接或 Unix 套接字使用 PHP sockets API 与您的 telnet 客户端守护进程通信。

吉姆。

【讨论】:

以上是关于如何获取 PHP 脚本以从已运行的进程发送和接收数据?的主要内容,如果未能解决你的问题,请参考以下文章

将始终开启的 PHP 进程

如何使用PHP从设备接收GPS数据?

如何使用 PHP 编写类似 sql 的查询以从 BigQuery 获取数据

如何使用 PHP 从设备接收 GPS 数据?

[PHP] 多进程通信-消息队列使用

执行 PHP 脚本以从 Android 连接服务器的路径 [关闭]