0

prosody XMPP サーバーを使用して、「JavaScript と jQuery を使用したプロフェッショナルな XMPP プログラミング」の第 3 章の例を試しています。これは基本的にピンポンの例であり、正常に動作します。問題は、この例を変更して、Cookie 内に jid、sid、rid を保存し、このデータを使用して、ページのリロード時に connect() の代わりに strophie attach() を呼び出す場合です。私の例は、2 つ以上の ping を 1 つずつ実行している場合にうまく機能し、サーバーが 1 つしかない場合は何も返されません。これが私のコードです:

Javascriptコード全体はこちら

問題は、2 つの ping が送信され、pong ハンドラーが 2 回トリガーされたときに関数$(document).trigger('connected');で 2 回行う場合です。ping を 1 回だけトリガーすると、pong ハンドラーは呼び出されません。on_connectstatus === Strophe.Status.ATTACHED

前もって感謝します。

4

1 に答える 1

2

attach()
コードでこの変更を行うときは、rid 番号に 1 を足す必要があります。

Hello.connection.attach(data.jid, data.sid, parsInt(data.rid,10)+1, Hello.on_connect);
于 2012-11-14T16:59:07.033 に答える