1

PHP (Debian 6.0) で JAXL デーモンを作成しました。このデーモンは、着信メッセージを待機してリッスンし、ペイロードを API に渡して着信メッセージを処理します。(user1@server で受信メッセージをリッスンします)

私が抱えている問題は、メッセージをユーザーに送り返すことです。私が今行った方法は、別の XMPP デーモンを開始し、メッセージを送信してから、デーモンをシャットダウンすることです。これに関する問題は、user2@server に送信する JID user1@server を持つ別のデーモンを開始していることです。JAXL をシャットダウンすると、'listening' デーモンもシャットダウンされます。

メッセージを送信するときにリッスン デーモンを再度開始することを検討しましたが、開始に時間がかかりすぎて (1 ~ 2 秒)、アプリでその待ち時間を実際に許容できません。

おそらくリスニングデーモンを使用してメッセージを送信することで、これをどのように解決できるか考えている人はいますか?

4

2 に答える 2

2

その進歩を聞いてとてもうれしいです。サンプルコードから$jaxl->sendMessage()は、JAXLv2.xを使用しているように見えますが。v2.xにハードコードされた依存関係がない場合は、 JAXLv3.xにアップグレードすることを強くお勧めします。

バックグラウンド(IPC)で実行されているxmppデーモンと通信することでxmppペイロードを送信する公式の方法があるv3.xの使用を検討している場合は、このgoogleグループスレッドに従ってメッセージを送信できます。v3.xを使用すると、xmppデーモンなどをリモートで制御することもできます。

于 2012-07-23T05:58:08.657 に答える
1

これに興味のある人のために、デーモンの実行中にUDPソケットでリッスンするようにJAXLを編集しました。そのUDPソケットでデータを受信した場合は、 $jaxl->sendMessage(...) を使用して送信しますメッセージ。次に、メッセージを送信したいときにいつでもこの UDP ソケットにデータを送信する単純な関数を作成しました。

于 2012-02-27T03:14:42.770 に答える