-1

チャット機能を .NET アプリケーション (Windows クライアント アプリ) に埋め込む必要があります。

要件:

  • サーバーレス/ゼロ構成アーキテクチャ (p2p) が望ましいが、必須ではない
  • オープン スタンダードに基づく (XMPP 同様)
  • .NET(ネイティブC/C++もOK)の実装(ライブラリ)あり

何をお勧めしますか?現在 XMPP/Jabber を検討していますが、アプリで使用した経験はありますか?

4

2 に答える 2

1

ええと、本当にチャット アプリケーションのサーバーレス アーキテクチャを実行したい場合は、提供する機能の種類を慎重に評価する必要があります。たとえば、1 対 1 のチャットのみが必要か、グループ チャットは必要か、ステータス通知は必要か、ユーザー認証はどうするかなどです。これには多くの方法がありますが、個人的にはサーバーベースのソリューションを常に好みます。

とにかく、最も基本的な解決策は、UDP マルチキャストを使用することです。すべてのクライアントが送信者と受信者です。UDP は信頼できないため、送信者はメッセージをキャッシュする必要があり、アプリケーション レベルのプロトコルはギャップを検出し、ギャップ フィル データを要求し、受信データを順番に並べることができる必要があります。そのシナリオでは、基本的に全員が全員のメッセージを見ることになります (これは、アプリケーション レベルのプロトコルでフィルター処理できます)。

次善の策は、すべてのクライアントがマルチキャスト ビーコン (アナウンス) を送信し、クライアントが特定の送信者との会話を開始することに関心がある場合、IP アドレスやポートを含む送信者に関する情報を含むビーコンを確認することです。次に、関心のある当事者がビーコン送信者への TCP 接続を確立すると、これら 2 つの当事者は、保証された順序付けられたメッセージ配信を使用して、互いに直接チャットを開始できます。

より高度なメッセージング アーキテクチャ/プロトコルを使用することもできますが、それは意味がないと思います。

あなたの要件があれば、私はhttp://www.coversant.net/Product/SoapBoxServer.aspxのようなものを取得します(無料の Express エディションがあり、すべてが .NET に組み込まれており、.NET API が提供されているなど)、または取得します。http://code.google.com/p/jabber-net/のような .NET API を使用するその他の XMPP サーバー (ここにいくつかあります: http://xmpp.org/software/servers.shtml )

于 2009-09-30T05:49:19.967 に答える
0

私は OpenFire jabber サーバーをホストしていたので、サーバーレスについてはよくわかりませんが、このJabber.NETライブラリはうまく機能しました。

于 2009-10-08T10:18:49.097 に答える