2011-06-22 1 views
0

私はこれにa SmartIRCライブラリを使用しています。 私ができる必要があるのは、ボットを実行してユーザからのコマンドを受け取り、UDPソケットでリッスンすることです。 私は分析する必要があるUDPソケットを介して送信されたデータを取得し、MySQLテーブルなどにソートします。 私のBOTにUDPデータが必要です。PHPを使ってIRCボットを構築するには、何か助けが必要です

したがって、問題は、私がUDPソケットを開くときに、 'while'ループ内のすべてのデータをリッスンすることです。 これは、ループが終了して閉じられるまで、IRCボット自体が機能していないことを意味します。 私はある種のマルチスレッドソリューションを使用することを考えましたが、どうしたらよいか分かりません。 UDPソケットの新しいスレッドを生成し、そのデータを現在実行中のボットに送信する方法を見つける必要があります。ああ、何の手がかりもない。

アイデア? うまくいけば私は十分に説明したので、皆さんは私が望んでいるものを理解することができます。

ありがとうございます!

+0

このタスクでPHPを選択した特別な理由はありますか?卵ドロップが優先IRCボットです。欠点は、独自のコンパイル済みモジュールを書くことを望んでいない限り、ボット用のスクリプトを書くためにTCLを学ぶ必要があるということです(それらの言語が書かれていることは覚えていません)。私はPHPがこれには理想的な言語ではないと言います。 – Crashspeeder

+0

私は知識があるので、私はPHPを選択しました。私はボットを作成するのに十分な他の言語は知らない。もし私がこれのための解決策を見つけなければ、おそらくJavaを実際に素早く学び、それを使ってボットを作ります。 – Dekken

答えて

0

whileループでデータをリッスンする理由がわかりません。過去にSmartIRCを使用した場合、私はユーザコマンドに$irc->registerActionhandler()を使用してから、$irc->listen()を呼び出して、ライブラリがそれをすべて処理します。

SmartIRCを使用したいくつかの良い例は、hereであり、うまくいけば助けになると思います。

+0

リモートサーバーからUDPデータを受信しようとしていますが、IRCにはまったく関係ありません。だから私はこれがどのように役立つか分からない。 – Dekken

関連する問題