PHP、IRC和shell

PHP、IRC和shell,php,irc,Php,Irc,我正在使用一个大约有100名用户的封闭社区网站(基于PHP),我们实现的一个功能是ajax shoutbox,当用户登录时,它在网站首页上充当“聊天室”。开发团队正在使用一个专用irc服务器进行协作,在一个通道中,我们正在运行一个quizbot。我们想出了一个想法,尝试制作一个网络界面,通过我们的网站连接到irc,这样我们网站的所有(不懂技术的)用户都可以参加我们的irc测试 现在,我不是IRC专家,但我研究了一些PHP-IRC教程,在我看来,为了连接到IRC,PHP需要保持一个开放的连接。。这

我正在使用一个大约有100名用户的封闭社区网站(基于PHP),我们实现的一个功能是ajax shoutbox,当用户登录时,它在网站首页上充当“聊天室”。开发团队正在使用一个专用irc服务器进行协作,在一个通道中,我们正在运行一个quizbot。我们想出了一个想法,尝试制作一个网络界面,通过我们的网站连接到irc,这样我们网站的所有(不懂技术的)用户都可以参加我们的irc测试

现在,我不是IRC专家,但我研究了一些PHP-IRC教程,在我看来,为了连接到IRC,PHP需要保持一个开放的连接。。这意味着我们需要做一个comet风格的技巧,让PHP脚本在不超时的情况下执行。然而,这意味着如果用户离开页面或关闭选项卡,我们将失去对php执行的控制。如果发生这种情况,我们可能会找到一种停止连接的方法,但即使如此,如果用户导航回聊天室,也必须重新连接到irc

我们想要实现的是让用户永久连接到irc服务器,即使他们没有登录到该站点。开发团队在我们的一台服务器上都有shell帐户,我们使用screen和irssi保持连接。我想应该可以让一个php脚本通过一个始终连接到irc的shell帐户连接到irc。由于我们的用户数量有限,为所有用户设置shell帐户并不是一个问题,但我还没有找到缺少的链接——一个允许php以某种方式访问的命令行irc客户端


有人有什么建议吗?

一个选项是运行一个代理,基本上是一个代理,它将维护与IRC服务器的连接,并且您的PHP脚本可以在需要时连接到它。您需要设置一种方法来识别用户对BNC软件的PHP会话,设置会话超时等,这一切都取决于您使用的特定软件及其可用选项

或者,用Python之类的语言编写一个特殊用途的代理,或者为PHP会话维护一个IRC连接列表,也不难


您也可能不希望每个PHP会话都有一个IRC连接,IRC通道上的单个持久化bot连接可以很容易地在每条消息中包含一个用户名,标识发送它的PHP用户。

一个选项是运行一个代理,基本上是一个代理,它将维护与IRC服务器的连接,您的PHP脚本可以在需要时连接到它。您需要设置一种方法来识别用户对BNC软件的PHP会话,设置会话超时等,这一切都取决于您使用的特定软件及其可用选项

或者,用Python之类的语言编写一个特殊用途的代理,或者为PHP会话维护一个IRC连接列表,也不难


您也可能不希望每个PHP会话都有一个IRC连接,IRC通道上的一个持久化bot连接可以很容易地在每条消息中包含一个用户名,标识发送它的PHP用户。

我也在想同样的事情。一个irc bot,用于向/从站点转发聊天,在每条消息前面加上web用户的用户名。我最近对《费吉》有点了解,它看起来很有趣。无论如何,你需要一个持续的连接,irc才能工作。我也在想同样的事情。一个irc bot,用于向/从站点转发聊天,在每条消息前面加上web用户的用户名。我最近对《费吉》有点了解,它看起来很有趣。在任何情况下,irc都需要连续连接才能正常工作。