問題タブ [prosody-im]

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 投票する
1 に答える
4066 参照

xmpp - XMPP プロトコルを使用して strophe.js クライアントを Prosody サーバーに正しく接続する方法

Prosody サーバーをインストールして構成しました。標準の localhost:5222 でリッスンします。構成ファイルに admin を追加しました - user1@example.com。サーバーへのすべてのリクエストはエラーで終了しました:

クライアントとして、strophe.js を使用したいと考えています。プレゼンス スタンザ ($pres) のみを送信しています。これが私のコードです。

コンソールにエラーが表示されます:

Access-Control-Allow-Origin' ヘッダーをリクエストに追加するにはどうすればよいですか?

リクエストを localhost:5222 (http なし) に送信しようとすると、次のようになります。

そして、websocket を介して送信すると、次のようになります。

Fiddler はプロトコル違反レポートを提供してくれます:

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

ios - iOS での XMPP ルーム参加/応答コードの作成

XMPPFrameworkを介して新しい部屋を作成しようとしています。こんな存在感を送ります。

XMPPFrameworkは、応答コードが201であることを期待しています。しかし、私は応答で110を取得しています!

しかし、公式の仕様を見ると、両方のコードが返されることが期待されています。今、私を完全に混乱させています。

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

xmpp - 構成ファイルに 'pidfile' オプションがありません [Prosody]

XMPP サーバーとして ejabberd を使用していました。現在、テスト目的でProsodyに切り替えました。インストールと構成はすべてうまくいきます。しかし、そのようにopenfireサーバーを起動すると、次sudo service prosody startのエラーが発生します

pidfile docリンクを調べましたが、これを克服する方法が見つかりません。

現在、私の pidfile パスは に/var/run/prosody/prosody.pidあり、ドキュメントには、現在のディレクトリにも変更できると書かれています。私は多くのことを試しましたが、解決策が見つかりません。

これで私を助けてください、そしていくつかの提案が必要です

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

xmpp - リソース間でプレゼンスを共有するには?

XMPP (ejabberd) と連携しないクロスプラットフォーム アプリケーションを開発しています。リソース間でプレゼンスを共有するにはどうすればよいですか?

次のシナリオを検討してください。

ユーザー A は、PC、Android、および iOS の 3 つのデバイスにログオンしています。Android を使用しているユーザー A は、自分のプレゼンスを「不在」に設定します。他のリソースを「アウェイ」に設定 (同期) するにはどうすればよいですか (そして、プレゼンス スタンザを送信します)?

XMPP プロトコル / ejabberd サーバーを使用してこの問題を解決しようとしています。クライアントにロジックを追加することによってではありません。

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

xmpp - XMPPサーバーをセットアップして、ユーザーストレージと認証のためにWebサーバーで他のJSON APIを使用します

消費者向けハードウェア製品を開発しています。各デバイスは中央の Web サーバーに登録されており、所有者はデバイスがリンクされているユーザー アカウントも持っています。所有者は、デバイスを他のユーザーと共有することもできます。

現在、ファイアウォールなどを通過する問題を解決するために、XMPP を使用しています。ユーザーは、iOS/Android アプリを使用して自分のデバイスにアクセスします。アプリは XMPP サーバーに接続し、ハードウェア デバイスも接続します。そのため、アプリはカスタム XMPP スタンザを送信することでデバイスにアクセスできます。

現在、デバイスとモバイル アプリは同じ JID を使用しているため、デバイスはそれ自体が使用するのと同じ裸の JID からのメッセージのみを許可します。デバイスを共有できるようにするために、代わりに名簿を使用する予定です。デバイスは独自の JID ("hw381983829@thexmppserver.com") を取得し、名簿内のすべての JID からスタンザを受け入れます。

私が抱えている問題は、ユーザー、デバイス、およびデバイス共有データが Web サーバーに保存されていることです。これと同じ情報を XMPP サーバーで使用したいと思います。Web サーバー上のすべてのユーザーとデバイスは XMPP にログインでき、デバイスの名簿はそれにアクセスできるユーザーと同じです。この情報には、JSON API を介してアクセスできます。

1 つの方法は、変更が発生したときにそれをミラーリングすることですが、失敗する可能性のある手順が多すぎるため、この考えは好きではありません。

私が考えることができる最善の解決策は、XMPP サーバーが組み込みデータベースの代わりに JSON API を使用できるようにすることです。読み取り専用になりますが、すべての登録と共有は Web サーバー上で行う必要があるため、これは問題ではありません。

続行する方法についてのアイデアはありますか?S2S やオフライン メッセージなどは必要ありません。現在は Ejabberd を使用していますが、Prosody や Openfire の方が優れた代替手段でしょうか?