【发布时间】:2010-08-13 12:20:43
【问题描述】:
我正在使用一个大约有 100 名用户的封闭社区网站(基于 PHP),我们实现的功能之一是 ajax 喊话框,当用户登录时,它在网站首页上用作“聊天室” . 开发团队正在使用私人 irc 服务器进行协作,并且在一个频道中,我们正在运行一个测验机器人。我们想出了一个想法,尝试制作一个通过我们的网站连接到 irc 的 Web 界面,以便我们网站的所有(非技术精通)用户都可以参与我们的 irc 测验。
现在,我不是 IRC 专家,但我研究了一些 PHP-IRC 教程,在我看来,为了连接到 IRC,PHP 需要保持一个开放的连接.. 这意味着我们需要做一个彗星式的技巧,让 PHP 脚本执行而不会超时。但是,这意味着如果用户离开页面或关闭选项卡,我们就会失去对该 php 执行的控制。如果发生这种情况,我们可能会想办法停止连接,但即便如此,如果用户导航回聊天室,他也必须重新连接到 irc。
我们想要实现的是一种让用户永久连接到 irc 服务器的方式,即使他们没有登录到该站点。开发团队在我们的一台服务器上都有 shell 帐户,我们使用 screen 和 irssi 保持连接。我认为应该可以通过一个始终连接到 irc 的 shell 帐户让一个 php 脚本连接到 irc。由于我们的用户数量有限,为所有用户设置 shell 帐户不是问题,但我还没有找到缺失的链接 - 一个命令行 irc 客户端,它允许以某种方式访问 php。
大家有什么建议吗?
【问题讨论】: