【发布时间】:2010-11-06 02:06:02
【问题描述】:
我正在尝试实现将在大多数共享 PHP 主机中运行的套接字服务器。
要求是可以从 PHP 自动安装、启动和停止 Socket 服务器,而无需用户做任何事情。套接字服务器用什么语言编写并不重要,只要它能够在全球大多数共享主机上运行即可。
目前,我用 PHP 编写了一个实现对象缓存的 Socket 服务器: http://code.google.com/p/php-object-cache/
来源:http://code.google.com/p/php-object-cache/source/browse/trunk/socket.class.php
然而,PHP 必须在编译时支持套接字,并且运行 PHP 套接字支持的服务器并不多。
我真正的问题是:我应该用什么语言来实现套接字服务器,并且具有最大的平台支持并且可以从 PHP 中调用。
换句话说,哪种脚本语言在启用 PHP 的服务器上最常见?
或者我是否必须用编译语言编写套接字服务器才能使其在所有服务器上工作?
我们暂时不考虑 IIS,只考虑 Linux 服务器。我认为没有多少 PHP 站点在 IIS 上运行...
编辑:
抱歉,我认为我的问题不清楚。
我想知道,考虑到以下要求,哪种语言最适合创建套接字服务器:
该语言必须与在 Apache(而非 CLI)中运行的 PHP 一起存在于共享主机中。 必须在本机启用套接字支持,而不是通过所需的扩展。 PHP 必须能够将守护程序写入文件以及启动和停止守护程序。
我不是在为单个服务器寻求解决方案。它必须在大多数共享托管服务器上本地运行。
【问题讨论】:
-
为什么要从 PHP 调用它?服务器通常不会被邀请,而是一直作为守护进程运行。
-
我不知道“多少”是多少,但我有一个主要提供商的托管,它是 IIS,并且有很好的 PHP 支持。
-
我需要一个 Web 界面来启动套接字服务器,因此它应该能够从 PHP 中启动和停止。它也需要通过 PHP 安装。
-
大多数共享主机服务器会强制终止任何运行时间过长的进程,并且需要在后台运行一个套接字服务器来接受连接。您的请求基本上是不可能的,因为它违反了整个共享托管业务模式。
标签: php python perl bash sockets