問題タブ [xmpp]
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.
networking - XMPP にブリッジするのに最適なアーキテクチャは何ですか?
ユーザーとプレゼンスの独自の概念を持つ別のシステムを使用している場合、XMPP サーバー ネットワークへのブリッジを作成するための最も適切なアーキテクチャは何ですか? 私が知る限り、主な方法は次の 3 つです。
サーバーとして機能します。これにより 1 つのタッチポイントが作成されますが、互換性に影響があり、サーバーをエミュレートするシステムが複雑になる可能性があるのではないかと心配しています。
クライアントとして行動します。これは、システム内のユーザーごとに 1 つの接続が必要であることを意味しているように思われますが、これではうまくスケーリングできません。
XMPP ゲートウェイ プロトコルについて聞いたことがありますが、これがクライアント ソリューションより優れているかどうかは不明です。これが標準かどうかもわかりません。
任意の提案やトレードオフをいただければ幸いです。たとえば、これらのソリューションのいずれかを実行するには、ターゲット XMPP サーバー内でコードを実行する必要があります (私ができることではない可能性があります)。
configuration - Jabber Openfire サーバー v3.6.0a+ - ハイブリッド認証を使用するには?
Web サイト用に Jabber サーバーをセットアップしています。私はすでにいくつかのユーザー アカウントを openfire データベースに配置しており、それらの間で IM を使用しています。
現在、メイン データベース (members
テーブル、login
[password
プレーン テキスト]) およびallowed_to_IM
[0 または 1] フィールド) から (一部の) ユーザーを追加して、ユーザー同士で通信できるようにすることを検討しています。Hybrid
ただし、認証は v3.6.0a の新機能であり、データベース接続 (2 番目のデータベースへの) のためにファイルに必要な構成と、プロパティに他に何が入るかについてのドキュメントはほとんどありませopenfire.xml
ん (これにも多くの時間がかかりました)。構成情報を XML ファイルから切り離します)。
私の質問は次のとおりです。複数のデータベースをチェックする完全な例はありますか? 私が見たすべての例は、単なる断片のようです。
java - シリアル ハードウェア デバイスのメッセージング ソリューション
複数のネットワーク内または複数のネットワークにまたがる異なるマシンに存在する複数のアプリケーションと共有したいシリアル ハードウェア デバイスがあります。重要な要件は、システムが双方向通信をサポートする必要があることです。これにより、クライアント/シリアル デバイスがファイアウォールの背後や異なるネットワーク上に存在し、中央サーバーを介して相互に通信 (送受信) できるようになります。システムのもう 1 つの要件は、ゲートウェイ/シリアル デバイスがオフラインかオンラインかをクライアントが判断できる必要があることです。
このシリアル デバイスは、ワイヤレス ネットワークとの間でパケットを送受信できます。シリアルデバイスと通信するソフトウェアは Java で書かれており、できれば 100% Java ソリューションを維持したいと考えています。
私は現在、Jive ソフトウェアの Openfire サーバーと Smack API を使用して、XMPP を検討しています。このソリューションでは、シリアル デバイスから送信されるパケットが XMPP 経由でクライアントに配信されます。同様に、クライアント アプリケーションは、Smack API を介してシリアル デバイスにパケットを送信できます。パケットは単なるバイト配列であり、サイズは約 100 バイトに制限されているため、16 進文字列に変換して、メッセージの本文でテキストとして送信できます。システムは、クライアント/シリアル デバイスがオフラインになることを許容する必要があります。つまり、再び使用可能になると自動的に再接続されますが、クライアントがオフラインの場合はパケットが破棄されます。パケットはほぼリアルタイムで送受信する必要があるため、オフライン配信は望ましくありません。セキュリティは、メッセージング システムと提供されるクライアント API によって提供される必要があります。
他の可能な解決策を聞きたいです。JMS を使用することを考えましたが、少し重すぎるようで、クライアントやゲートウェイ/シリアル デバイスがオフラインかどうかを知るという要件をサポートするかどうかわかりません。
xmpp - Windows 2003 で Jabber/XMPP を実行するための最適なオプションは何ですか?
Windows 2003 サーバー (Web ファーム) で Jabber サーバーを実行することを検討しています。同時ユーザーが 500 人までのライブ環境を実行したことのある人からの実用的なアドバイスが欲しいです。
コメントの基準:
- パフォーマンス
- キャパシティ (すなわち ~ 同時ユーザー数)
- 安定
multithreading - XMPPアプリケーションのスレッド実装を研究するための良い情報源は何ですか?
私の理解では、XMPPプロトコルは常時接続に基づいており、XMLメッセージがいつ終了するかを即座に示すことはできません。
これは、ストリームが来たときにそれを評価する必要があることを意味します。これは、メッセージの長さや接続が遅いために、ソケットがXMLメッセージの途中でブロックされる可能性があるため、おそらく非同期接続を処理する必要があることも意味します。
回答ごとに1つのソースをいただければ幸いです。そうすれば、それらを変更して、お気に入りが何であるかを確認できます。
php - Jabber/Aim と統合するシンプルな Web「ライブ チャット」ソフトウェア (LAMP スタック)
私はこれを過去に数回探しましたが、役に立ちませんでした。簡単なphp/ajax
Web チャット インターフェイスが必要です。これは重要な部分ですが、IM client (Pidgin)
Jabber または Aim を介して ... とインターフェイスします。Plugoo
ホストされ、フラッシュベースであることを除けば、ほとんど私が望むものです。Flash ベースは理想的でなくても問題ありませんが、ホスト型はそうではありません。
通知だけが必要なわけではありませんが、「ライブ チャット」をクリックしてチャット インターフェイスを取得する Web サイトのユーザーが必要であり、IM クライアントでそれらと対話できるようにすることに注意してください。
これは、IM を使用していないクライアントにライブ サポートを提供したい私たちにとって非常に便利です。
xmpp - jabber サーバーの潜在的なその他の用途
明らかな個人間のインスタント メッセージ チャットの他に、Jabber サーバーの機能を使用して有効にしたことはありますか?
編集:実際にそれを誇示するための作業コードへのリンクは特に役立ちます-そして、投票される可能性が高くなります.
performance - XMPP のようなプロトコルを実装しようとする IIS のパフォーマンスの問題
あらゆる種類のポートが閉じられたあらゆる種類のファイアウォールの背後にある世界中に分散されたクライアントから、サーバーから対話型メッセージを取得する必要があるクライアントがいます。信頼できる唯一のものは、HTTP ポート 80 (および HTTPS 443) です。
設計は基本的に XMPP (Jabber プロトコル) をモデルにしており、クライアントと IIS を使用しています。クライアントは .NET ハンドラーに GET 要求を発行します。ハンドラーは、メッセージを探している間、リクエストを開いたままにします。メッセージが到着すると、すぐにクライアントに送信されます。そうでない場合、タイムアウト後、接続は「データなし」応答で閉じられます。クライアントはすぐに通信を再開します。
まあ、理論的には。
実際に何が起こっているかというと、まず、IIS は約 100 を超える同時要求を処理できません。他の要求はすべてキューに入れられており、「接続」とクライアントが呼び出したことを IIS が認識するまでに数分の遅れが生じる可能性があります。次に、約半分の時間です。クライアントはサーバーからの応答なしにタイムアウトします (クライアントのタイムアウトはサーバーのタイムアウトより 5 分長くなります)。
POST は常に機能します。同じ Web サーバーで提供される他のデータは機能します。同じサーバー上の Web サービスが動作します。これは、Windows 2K3 Server ですぐに使用できるインストールです。
不足している構成オプションはありますか、またはこれに対処するために他に確認する必要があるものはありますか?
ありがとう。
java - サーバー側に適した XMPP Java ライブラリ?
Java で単純な XMPP サーバーを実装したいと考えていました。
私が必要としているのは、クライアントからの xmpp リクエストを解析して理解できるライブラリです。私は Smack (後述) と JSO を見てきました。Smack はクライアントのみのように見えるため、パケットの解析には役立つかもしれませんが、クライアントへの応答方法はわかりません。JSO は維持されていますか? 非常に古いように見えます。唯一の有望な手段は、完全な商用 (OSS) XMPP サーバーである Openfire を分離することです。
Netty または Mina の上に数行のコードを追加することを期待していたので、ネットワークから離れたメッセージの処理を開始できました。
ジョー -
私がやろうとしていることへの答えはやや長いです - 私はそれを短くしようとします.
大まかに関連しているだけの 2 つのことがあります。
1) XMPP サーバーを作成したかったのは、2 つのクライアントが通信するためのカスタム プロトコルを作成することを想像したからです。基本的には、ネットワーク化された iPhone アプリを考えていますが、低レベルのバイナリ プロトコルに依存したくありませんでした。これは、XMPP のようなものを使用すると、アプリがローカルの Wi-Fi ベースのアプリからインターネット ベースのアプリに急速に「成長」できることを意味するためです。 ...
交換されるメッセージは比較的低レイテンシである必要があるため、厳密に言えばバイナリ プロトコルが最適ですが、XMPP を使用して拡張性のメリットを享受できるほどのオーバーヘッドが発生しない場合は、検討する価値があると感じました。そして柔軟性。
2) 私は Terracotta で働いているので、すべてをクラスター化することに夢中になっています。カスタム サーバー コードを作成することを考え始めるとすぐに、それをクラスター化する必要があると考えました。Terracotta は Java POJO のスケールアウトを簡単にするので、Terracotta のデモンストレーション アプリとして超シンプルな XMPP サーバーを構築することを考えました。基本的に、各ユーザーは TCP 接続を介してサーバーに接続し、ユーザーをハッシュマップに登録します。各ユーザーには、キューからメッセージを取得するリスナー スレッドを含む LinkedBlockingQueue があります。次に、他のユーザー (古いチャット アプリケーションなど) にメッセージを送信したい接続ユーザーは、接続を介してそのユーザーに XMPP メッセージを (通常どおり) 発行するだけです。サーバーはそれを取得し、マップ内の対応するユーザー オブジェクトを検索して、メッセージをキューに配置します。キューがクラスター化されているため、
ですから、残念ながら要約が短すぎません。しかし、それが私がやりたいことです。#1 を達成するために Openfire 用のプラグインを作成することもできると思いますが、多くの配管を処理する必要があるため、#2 を行うのは難しいと思います (特に、シンプルな 10 ~ 20kb の Maven プロジェクト)。
delphi - Delphi の Jabber 用の完全なライブラリはありますか?
Delphi 用の Jabber ライブラリを探しています。COM ベースの jabber コンポーネントがいくつかあります。しかし、私は本当の VCL ライブラリを探しています。
誰か知ってる?