今の私の目標は、WhatsApp のような機能を備えた Android アプリを作成することです (必ずしも WhatsApp のクローンではありません。類似した、おそらくあまり良くない機能を備えているだけです)。重要なのは、グループ チャット、オンライン/オフライン プレゼンス、オフライン メッセージです。
現在、私は WebSocket サーバーを持つ可能性をほとんど認識しています (無限の可能性を開くことができるリアルタイムソリューションとして紹介されたため)、以前にテストしたことがあります。 . ただし、次の問題に直面しています。
- オンライン/オフラインのプレゼンスを管理する方法がわかりません。私はそれを自分で実装する必要がありますか?おそらく Android クライアントは、友人がまだ接続されているかどうかを 30 秒ごとにサーバーに照会しています...
- オフライン メッセージはどうですか。特定の人が接続されていない場合、メッセージはその人に配信されません。メッセージをどこかに保存する必要がありますか (MSSQL など)、ユーザーがログインすると、クライアントはサーバーからすべてのオフライン メッセージを自動的に取得しますか?
- グループチャットはどうですか?WebSocket がそれをどのように達成できるかわかりませんが、それも個別に実装する必要がありますか? それは、取り組むべきビジネスロジックがたくさんあることを意味します(そして、バグが現れる余地がたくさんあります)...
XMPP と呼ばれるプロトコルがあることは知っていますが (WebSocket とはまったく異なります)、それが私の問題にどのように関係しているかはわかりません。XMPP は私の特効薬ですか (つまり、XMPP のほとんどを実装している.NETライブラリはありますか?)。コメットも聞いたことがありますが、それがどのように関係しているかはまったくわかりません...
不足している部分が非常に多いため、チャット サーバー/クライアントの実装は簡単だと思っていましたが、どうやらそうではないようです。経験のある方は、フィードバックをいただけますか?