問題タブ [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.
xmpp - XMPP プロトコルを使用して strophe.js クライアントを Prosody サーバーに正しく接続する方法
Prosody サーバーをインストールして構成しました。標準の localhost:5222 でリッスンします。構成ファイルに admin を追加しました - user1@example.com。サーバーへのすべてのリクエストはエラーで終了しました:
クライアントとして、strophe.js を使用したいと考えています。プレゼンス スタンザ ($pres) のみを送信しています。これが私のコードです。
コンソールにエラーが表示されます:
Access-Control-Allow-Origin' ヘッダーをリクエストに追加するにはどうすればよいですか?
リクエストを localhost:5222 (http なし) に送信しようとすると、次のようになります。
そして、websocket を介して送信すると、次のようになります。
Fiddler はプロトコル違反レポートを提供してくれます:
ios - iOS での XMPP ルーム参加/応答コードの作成
XMPPFrameworkを介して新しい部屋を作成しようとしています。こんな存在感を送ります。
XMPPFrameworkは、応答コードが201であることを期待しています。しかし、私は応答で110を取得しています!
しかし、公式の仕様を見ると、両方のコードが返されることが期待されています。今、私を完全に混乱させています。
xmpp - 構成ファイルに 'pidfile' オプションがありません [Prosody]
XMPP サーバーとして ejabberd を使用していました。現在、テスト目的でProsodyに切り替えました。インストールと構成はすべてうまくいきます。しかし、そのようにopenfireサーバーを起動すると、次sudo service prosody start
のエラーが発生します
pidfile docリンクを調べましたが、これを克服する方法が見つかりません。
現在、私の pidfile パスは に/var/run/prosody/prosody.pid
あり、ドキュメントには、現在のディレクトリにも変更できると書かれています。私は多くのことを試しましたが、解決策が見つかりません。
これで私を助けてください、そしていくつかの提案が必要です
xmpp - リソース間でプレゼンスを共有するには?
XMPP (ejabberd) と連携しないクロスプラットフォーム アプリケーションを開発しています。リソース間でプレゼンスを共有するにはどうすればよいですか?
次のシナリオを検討してください。
ユーザー A は、PC、Android、および iOS の 3 つのデバイスにログオンしています。Android を使用しているユーザー A は、自分のプレゼンスを「不在」に設定します。他のリソースを「アウェイ」に設定 (同期) するにはどうすればよいですか (そして、プレゼンス スタンザを送信します)?
XMPP プロトコル / ejabberd サーバーを使用してこの問題を解決しようとしています。クライアントにロジックを追加することによってではありません。
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 の方が優れた代替手段でしょうか?