問題タブ [strophe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
11525 参照

javascript - 同じユーザーの問題のXMPP複数セッション

リモートサーバーで実行されているpunjabサーバーとのBOSH接続を介してXMPPチャットを使用できるようにするChrome拡張機能を実装しました。これは、javascriptStropheライブラリを使用して実装されます。私が遭遇している問題は、同じユーザーの複数のセッションがある場合(たとえば、同じマシン上の2つの異なるブラウザー)、最初のチャットウィンドウから送信したメッセージを受信して​​2番目のチャットウィンドウに記録できないことです。それを可能にする何らかのメカニズムが必要です。他のユーザーに送信したメッセージをどうにかして受信できますか?この問題は2台以上の異なるマシンでも再現できるため、これも解決する必要があります。

ありがとうございました。

0 投票する
1 に答える
5123 参照

xmpp - strophe.js を使用した承認リクエスト (名簿に追加)

strophe.jsライブラリを使用して、ブラウザーで XMPP メッセージを送受信します。それは正常に機能しますが、連絡先リストに既にあるユーザーのみ-名簿です。

名簿に誰か (住所を知っている人) を追加する必要があります。strophe.js を使用してこれを達成するにはどうすればよいですか? Gmail は私の名簿にない人へのメッセージの送信を拒否するので、これは私にとって重要です。サブスクリプションを取得したいのですが、メッセージを送受信できるようにするためです。

0 投票する
1 に答える
2714 参照

xmpp - strophe.js - chrome でメッセージが配信されない

Strophe.js を使用してカスタム xmpp チャット アプリケーションを作成しています。ブラウザとデスクトップ クライアント (Adium) 間の通信は完全に機能します。ブラウザ経由で Adium にメッセージを送信したり、Adium からブラウザにメッセージを送信したりできます。メッセージは送信されても​​配信されないため、ある時点でブラウザ間の通信に問題が発生します。Google Chromeだけの問題のようです。

興味深いのは、 <presence> スタンザが正常に送信および配信されるという事実です。サーバーデーモンとして ejabberd を使用します。

これは、私が 1 つのアカウントから送信しているプレゼンス スタンザです。

そして私が他に受け取るもの:

また、私が送信するメッセージスタンザ:

Chromeでは何も受信されません...

編集:問題は、一部の文字のエスケープにありました。Chrome では、セキュリティ上の問題により、エスケープを解除できませんでした。

0 投票する
1 に答える
2904 参照

javascript - strophe を使用して CDATA でメッセージ本文を送信する方法は?

私はこのようなメッセージを生成しています

それは生成します:

しかし、私はこれが必要です:

何かstrophejsを持っていますか、それとも自分で生成する必要がありますか? CDATAをXMPPに送信することさえ可能ですか?

0 投票する
2 に答える
2142 参照

javascript - ページが更新された場合に XMPP 接続をリセットする

ejabberd サーバーで javascript を使用して XMPP との strophe 接続を作成しようとしています。ページが読み込まれると接続でき、切断ボタンがクリックされると切断できます。

今問題は、接続が有効であり、ユーザーが誤ってページを更新した場合、私の JavaScript が再度接続しようとしており、それに応答して取得していることです。(以前の接続がまだ生きている可能性があるためです)

しばらくしてページを再度更新すると、接続が正常に確立されるため、ページが誤って更新された場合に接続をリセットして、ユーザーがシームレスな接続を取得するにはどうすればよいですか。

0 投票する
2 に答える
945 参照

json - strophe と JSON メッセージ

strophe を使用して他の xmpp ユーザーに単純な json メッセージを送信するのに問題があります。メッセージを作成するコマンド:

var json_stringified_msg = '{"type":"ola"}';

var reply = $msg({to: this.m_user, from: this.jid_connection, type: 'chat'}).c("body").t(json_stringified_msg);

connection.send(reply.tree());

問題は、クライアントがチャットで受信する反対側にあることです: {"ACTION"quot;CHANGE_MODE", "MODE"quot;KEYBOARD"}

閉じたクライアントなので、反対側からの逃避はできません。

jsonメッセージを正確に反対側に送信する方法は?

ご協力いただきありがとうございます。

よろしくお願いします

0 投票する
1 に答える
637 参照

json - XMPP、Strophe、およびraw/streamデータチャネル

私はjqueryプラグインを使用してboshと通信していました: https ://github.com/maxpowel/jQuery-XMPP-plugin

帯域幅を節約するために、ストローフィを使用してストリームモードでデータを送信できることを読みました。

私が持っている必要があるもの:

  1. チャットコンピュータユーザー間でコマンドを交換する1つの通常のチャネル
  2. フォーマットされていないデータを送信するための複数のチャネル。ただし、各メッセージの時間は100ミリ秒の間で丸められるため、情報量は最小です。

理解を深めるためにグラフを作成しました。

理解を深めるための説明付きグラフ

Stropheでこれを行う方法は?

2番目の質問は、ストローフィ用のこのjsonプラグインについて読んだことですhttp://code.google.com/p/prosody-modules/wiki/mod_json_streams

あなたはすでにこれを試しましたか?それは安定していて、帯域幅で本当に良い勝利をもたらしますか?

ご回答有難うございます。

よろしくお願いします、

0 投票する
2 に答える
2321 参照

node.js - node.js、XMPP Strophe.js

私は現在、自分のサイトにリアルタイム通知システムを追加することを考えています。これまでのところ、node.jsまたはstrophe.jsなどのjsXMPPライブラリを備えたXMPPサーバーを使用することを選択しています。今のところ、私のサイトのリアルタイム通知システムに必要ですが、チャットシステムなどのより複雑な機能で使用される可能性があります。

だから私は次の質問があります:

  1. これら2つのテクノロジーはどのように異なりますか?

  2. これら2つのテクノロジーのどちらが、LAMP環境で実行されているサイトに統合するのに「より適している」でしょう。

ありがとう、

0 投票する
1 に答える
474 参照

gwt - GWT - Strophe XMPP クライアント

私の質問は GWT-Strophe の設定方法ですか? 私はすでに多くの GWT XMPP クライアントを検索し、 gwt-strophe を使用しようとしています GWT-Strophe を使用してGWT XMPP クライアントを見てきました。問題は window.Strophe が未定義です。私が含めなければならないものがあるかもしれませんか?

0 投票する
1 に答える
3644 参照

javascript - Strophe を使用したクライアント間の XMPP の IQ 交換

だから私は同じページで2つのブラウザを実行しています。このページでは、アカウントを使用してサーバーにログインできます。

接続は Strophe で構築されます。そしてすべてが HTML と JavaScript です。

これで、チャットを構築することができました (2 つのブラウザー間で、それぞれが異なるユーザーでログインしています)。そして、これは完全に機能しています。

私が今達成したいのは、あるユーザーから別のユーザーに IQ を送信することです。どちらもステータス バーで、IQ を受け取っていることを示しています (一方は「リクエストを受け取りました」、もう一方は「結果を受け取りました」)。

ここで、次のように iq を作成します。

これは、ボタンを押すことで呼び出すことができる関数で設定されます。リスナーは次のように構築されます。

handlePong を次のように使用します。

client1 が IQ を client2 に送信すると、次の結果が得られます。

クライアント1: Received iq from client2@domain with id pingPong and type result

クライアント2:

彼が最初のリクエストを受け取ったことを client2 のステータスに表示する方法はありますか?