AOL や ICQ などに似たシンプルな Windows P2P インスタント メッセンジャーを C#で開始したいのですが、はるかにシンプルです (2 人の男性間のプレーン テキスト メッセージ)。
それを行う方法の例は必要ありません。私はそれらを自分で見つけることができます。
私が必要としているのは、多くの技術的な詳細がなくても、インスタント メッセージング (マルチチャットではなく P2P) がどのように機能するかについての一般的な考えです。
例えば:
user1 と user2 の間の通信を行うためにメイン サーバーが必要ですか、それとも user1 が文字列を直接 user2 に送信できますか? これはどのように呼ばれますか?
user1 がログインしている場合、別のユーザーからの受信メッセージ (または友人のオンライン ステータス) をどのように知るのでしょうか? チャット クライアント アプリは X 秒ごとにメイン サーバーをチェックしますか?
一般的なデータ フローのアイデアを明確にするのに役立つ手がかりは、非常に高く評価されます。共有するフローチャートが見つかった場合は、フローチャートも役立ちます。
前もって感謝します。
更新 (新しい質問) - 7 月 6 日
ユーザーが正常にログインし、アプリが連絡先のリストを取得して入力する必要があるとしましょう (私の apache/php/mysql サーバーに保存されています)。
データの取得 (重要)とその後の連絡先リストの作成をどのように実装しますか? WebClient.DownloadString[Async] は良いアプローチですか? より良い方法はありますか?
アプリが更新されたリスト (オンライン/オフライン ステータス) をチェックする頻度。推奨事項は受け入れられました。
C#.NET (Visual C# Studio 2010) で JSON データを解析するにはどうすればよいですか? JSON 文字列を取得します。
ありがとう!