Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP构建IRC机器人,需要一些帮助吗_Php_Multithreading_Sockets_Irc - Fatal编程技术网

使用PHP构建IRC机器人,需要一些帮助吗

使用PHP构建IRC机器人,需要一些帮助吗,php,multithreading,sockets,irc,Php,Multithreading,Sockets,Irc,我用图书馆来做这个。 我需要做的是让bot运行并接受用户的命令,同时监听UDP套接字。 我通过UDP套接字发送数据,需要对其进行分析、排序到MySQL表等。 我需要UDP数据可用于我的机器人 所以问题是,每当我打开UDP套接字时,它都会侦听“while”循环中的所有数据。 因此,这意味着IRC机器人本身在循环结束和关闭之前是不起作用的。 我曾想过使用某种多线程解决方案,但我不确定如何使用。 我需要找到一些方法来生成UDP套接字的新线程,并将该数据发送到我当前运行的bot。啊,没有线索 有什么想法

我用图书馆来做这个。 我需要做的是让bot运行并接受用户的命令,同时监听UDP套接字。 我通过UDP套接字发送数据,需要对其进行分析、排序到MySQL表等。 我需要UDP数据可用于我的机器人

所以问题是,每当我打开UDP套接字时,它都会侦听“while”循环中的所有数据。 因此,这意味着IRC机器人本身在循环结束和关闭之前是不起作用的。 我曾想过使用某种多线程解决方案,但我不确定如何使用。 我需要找到一些方法来生成UDP套接字的新线程,并将该数据发送到我当前运行的bot。啊,没有线索

有什么想法吗? 希望我解释得足够清楚,这样你们就能明白我到底想要什么


谢谢

我不知道为什么要在while循环中侦听数据。当我在过去使用SmartIRC时,我使用
$irc->registerActionhandler()
作为用户命令,然后调用
$irc->listen()
,这样库就可以为您处理所有这些


可以找到一些使用SmartIRC的好例子,希望它们能对您有所帮助。

您选择PHP执行此任务有什么特别的原因吗?Eggdrop是首选的IRC机器人。缺点是您需要学习TCL为bot编写脚本,除非您想编写自己的编译模块(我不记得这些模块是用什么语言编写的)。我会说PHP并不是实现这一点的理想语言。我选择PHP是因为我对它很了解。我不知道有哪种语言足够好用它们来创建机器人。如果我找不到解决方案,我可能会很快地学习Java并使用它创建一个机器人。我正在尝试从远程服务器侦听UDP数据,这与IRC完全无关。所以我不确定这会有什么帮助。