IRC ネットワークで 1 つの mIRC Bot を実行しています。ソケットやその他の方法を介してHTTPリクエストなどを「聞く」方法があるかどうか疑問に思っていました。つまり、別のフォーラムがあり、誰かがこのフォーラムに新しいトピックを投稿するたびに、誰かが新しい投稿をしたことをボットにチャネルで通知してもらいたいということです。誰かがフォーラムにログインしたときや、誰かが特定の Web ページをロードしたときなど、同様のイベントのいくつかは、何らかの http 要求 (または PHP 内から取得できる別の接続方法) を送信するように作成できます。基本的に、「 sendmsg.php?msg=Message 」のようなページが必要で、ボットにそのメッセージを投稿させる必要があります。リスニングなどのためにソケットを開いたままにしておく必要があると思いますが、検索で関連する回答が見つかりませんでした。
質問する
320 次
1 に答える
0
ボットに特定のポートでリッスンさせることができます。リスニング ポートを開くには、/socklistenを使用します。これが機能するためには、リッスンしているポートがインターネットに公開されているか、php スクリプトが実行されているネットワークに公開されている必要があります (つまり、ファイアウォールがブロックされず、ルーターで転送される可能性があります)。
着信接続を処理するには、on socklistenイベントが必要です。メッセージやその他の小さな情報を送信するだけなら、おそらく独自のプロトコルを発明するのが最善の策です。これは、送信されたデータを読み取り、OK メッセージを返すのと同じくらい簡単です。php ソケットを使用してデータを書き込みます。それ以外の場合は、メッセージを期待しているプロトコルのサーバー側を実装する必要があります。たとえば、HTTPです。
于 2013-05-27T23:34:33.773 に答える