️特別な注意事項: Github のダウンロードが遅い場合は、https://gitee.com/jackjiang/MobileIMSDK にアクセスしてください。コードは完全に同期されているため、お気軽にダウンロードしてください。 ️
❤️最新ニュース: MobileIMSDK の Honmeng 次バージョンがリリースされました❤️
1. ショートカットディレクトリ
1.1. 理論的情報
- ネットワークプログラミング理論の古典『TCP/IP詳解』(オンライン読み物版)
1.2. 関連情報
- MobileIMSDK バージョン更新ログ
- MobileIMSDK よくある質問?
- MobileIMSDK パフォーマンス テスト レポート
1.3. 製品ケース
- レインボーチャットの体験版?
- RainbowChat 試用版のスクリーンショット プレビュー
- 特定のチャットの非機密操作データの一部
1.4. デモのインストール
- クライアント デモのインストールと使用方法のヘルプ (Android)
- クライアント デモのインストールと使用方法のヘルプ (iOS)
- クライアント デモのインストールと使用方法のヘルプ (Java)
- クライアントデモのデモンストレーションと説明 (H5)
- クライアントデモのデモと説明(WeChatアプレット)
- クライアント デモのデモンストレーションと手順 (Uniapp)
- クライアントデモのデモンストレーションと説明 (Hongmeng Next)?
- サーバー側デモの展開と使用方法のヘルプ
1.5. 開発ガイド
- クライアント開発ガイド (Android)
- クライアント開発ガイド (iOS)
- クライアント開発ガイド (Java)
- クライアント開発ガイド (H5)
- クライアント開発ガイド (WeChat ミニ プログラム)
- クライアント開発ガイド (Uniapp)
- クライアント開発ガイド (Hongmeng Next)
- サーバー開発ガイド
1.6. API ドキュメント
- クライアント SDK API ドキュメント (Android): TCP バージョン、UDP バージョン
- クライアント SDK API ドキュメント (iOS): TCP バージョン、UDP バージョン
- クライアント SDK API ドキュメント (Java): TCP バージョン、UDP バージョン
- クライアント SDK API ドキュメント (H5): ここをクリックして入力してください
- クライアント SDK API ドキュメント (WeChat アプレット): ここをクリックして入力してください
- クライアント SDK API ドキュメント (Uniapp): ここをクリックして入力してください
- クライアント SDK API ドキュメント (Hongmeng Next): 完全なマニュアル、API ドキュメント
- サーバー SDK API ドキュメント
1.7. パッケージのダウンロード
- MobileIMSDK 最新バージョンのパッケージをダウンロードしますか?
- 外部アドレス: MobileIMSDK の Github アドレス
- 国内アドレス: MobileIMSDK のコード クラウド gitee アドレス (高速アクセス!)
1.8. 学習とコミュニケーション
- 技術交流コミュニティ: ここをクリックして参加してください
- FAQ ディスカッション: ここをクリックして参加しますか?
- 技術交流Qグループ:
215477170
? - 技術サポート/協力/相談については、著者までお問い合わせください QQ:
413980957
(著者について?) - 私の公式アカウントをフォローしてください: :point_down: :point_down:
2. プロジェクトの紹介
MobileIMSDK は、モバイル端末向けに特別に開発された独自の IM 通信層フレームワークです。
- 10年間テストされています。
- 超軽量で高度に洗練された lib パッケージは 50KB 以内です。
- 注意深くカプセル化された一連の API は、 UDP 、 TCP 、およびWebSocket (おそらくネットワーク全体で唯一のオープン ソース プロトコル) の 3 つのプロトコルをエレガントにサポートしています。
- クライアントは、iOS、Android、標準 Java、H5 (まだオープンソースではない)、ミニ プログラム (まだオープン ソースではない)、Uniapp (まだオープン ソースではない)、Hongmeng Next (SDK はまだオープン ソースではない、デモの完全なソース コード) をサポートします。
- サーバーは Netty に基づいており、優れたパフォーマンスと簡単な拡張を備えています。
- 姉妹プロジェクト MobileIMSDK-Web とシームレスに相互運用して、Web チャットやプッシュなどを実現できます。
- クロスデバイスおよびクロスネットワークのチャット アプリ、エンタープライズ OA、メッセージ プッシュなどのさまざまなシナリオに適用できます。
MobileIMSDK プロジェクトは 2013 年 10 月から継続的にアップグレードされています (最新バージョンは v6.5、バージョン更新ログを表示するにはここをクリックしてください)。10 年後、当初は自己使用製品のインスタント メッセージングの最下層として使用されていました。完全にゼロから開発されました。
現在、Hongmeng Next の最新バージョンが開発されており、困っている人たちにインスピレーションを与え、助けになれば幸いです。
MobileIMSDK に関するその他の質問と回答をご覧ください。
もう 1 つの姉妹プロジェクトである軽量の Web 側インスタント メッセージング フレームワークである MobileIMSDK-Web も継続的に更新されており、携帯電話または PC での Web チャットとメッセージ プッシュに特化しています。
3. コードホスティングの同期更新
コードクラウドジーティー
- コードホスティング: https://gitee.com/jackjiang/MobileIMSDK
- テクノロジー コミュニティ: クリックして詳細を表示
GitHub.com
- コードホスティング: https://github.com/JackJiang2011/MobileIMSDK
- テクノロジー コミュニティ: クリックして詳細を表示
MobileIMSDK バージョン更新ログ: ここをクリックして表示しますか?
4. 設計目標
開発者はアプリケーション ロジックの開発に集中し、复杂的即时通讯算法交由SDK开发人员
で、解偶即时通讯应用开发的复杂性
。
5. フレームワーク構成
MobileIMSDK フレームワーク全体は、次の 7 つの部分で構成されます。
- Android クライアント SDK: Android バージョンのインスタント メッセージング クライアントに使用され、Android 4.0 以降をサポートします。API ドキュメントを参照してください。
- iOS クライアント SDK: iOS インスタント メッセージング クライアントの開発に使用され、iOS 12.0 以降をサポートし、API ドキュメントを参照します。
- Java クライアント SDK:クロスプラットフォーム PC インスタント メッセージング クライアントの開発に使用され、Java 1.6 以降をサポートします。API ドキュメントを参照してください。
- H5 クライアント SDK:オープン ソース バージョンはまだありません。洗練された注釈付きバージョンを確認してください。
- WeChat ミニ プログラム SDK:オープンソース バージョンはまだありません。編集され、注釈が付けられたバージョンを確認してください。
- Uniapp SDK:オープンソース バージョンはまだありません。編集され、注釈が付けられたバージョンを確認してください。
- Honmeng Next SDK:現在、SDK のオープン ソース バージョン (洗練された注釈付きバージョンを参照) とデモの完全なプロジェクト ソース コードはありません。
- サーバー SDK:インスタント メッセージング サーバーの開発に使用され、Java 1.7 以降をサポートします。API ドキュメントを参照してください。
MobileIMSDK フレームワーク全体のアーキテクチャは次のもので構成されます。
MobileIMSDK は継続的に開発およびアップグレードされており、Hongmeng Next クライアントは MobileIMSDK プロジェクトの最新の成果です。
さらに、 MobileIMSDK は姉妹プロジェクト MobileIMSDK-Web とシームレスに相互運用できるため、Web ページ上でチャットやプッシュが可能になります。
6. 技術的特徴
- 実証済み: 10 年を経て、Andriod 2.3 と iOS 5.0 の時代から現在に至るまで継続的にアップグレードされています (決して未完成ではありません)。
- 超軽量:高度に洗練された、50KB 以内の lib パッケージ。
- 複数のプロトコル:ネットワーク全体で、UDP、TCP、WebSocket の 3 つのプロトコルを 1 つの API セットで同時にサポートできる、この種のオープン ソース フレームワークはこれだけかもしれません。
- 複数のネットワーク:慎重に最適化された TCP、UDP、および WebSocket プロトコルの実装は、衛星ネットワーク、モバイル ネットワーク、組み込み IoT およびその他のシナリオに適用できます。
- マルチターミナル対応:クライアントは iOS、Android、標準 Java、H5、WeChat アプレット、Uniap、Hongmeng Next をサポートします。
- 効率的な費用対効果:接続特性のない独自の UDP プロトコル実装により、同じ条件下でより高いネットワーク負荷とスループット能力を実現できます。
- メッセージの方向:インスタント メッセージング テクノロジで考えられるすべてのメッセージの方向 (合計 3 種類 (つまり、C2C、C2S、S2C)) をサポートします。
- スティッキーおよびハーフパケット: TCP の古典的なスティッキーおよびハーフパケットの問題を両端でエレガントに解決します。最下層はカプセル化されており、アプリケーション層は完全に認識されません。
- QoS メカニズム:メッセージが見逃されないことを保証するための完全なメッセージ配信保証メカニズム (自動再送信、メッセージ重複排除、ステータス フィードバックなど)。
- 堅牢性と信頼性:これは、高遅延、大陸横断、およびさまざまなネットワーク標準環境での安定した信頼性の高い動作に非常に適していることが実践により証明されています。
- ネットワーク切断の回復:ネットワーク状態を自動的に検出し、ネットワーク切断を自動的に修復する機能があります。
- オリジナルのアルゴリズム:コアのアルゴリズムと実装はすべてオリジナルであり、継続的な改善と改善の余地を確保しています。
- 複数のモード:複数のリアルタイム感度モードをプリセットして、さまざまなシナリオに従って即時性、トラフィック、クライアントの電力消費を制御します。
- データ圧縮:独自のプロトコルで実装されているため、将来的にデータ圧縮をカスタマイズして、クライアント トラフィックとサーバー ネットワーク スループットを柔軟に制御できます。
- 高度にカプセル化:高度にカプセル化された API インターフェイスにより、呼び出しが簡単になり、より多くのアプリケーション シナリオに適用できるようになります。
- Web サポート:姉妹プロジェクト MobileIMSDK-Web とシームレスに相互運用して、Web ページのチャットやプッシュなどを実現できます。
- 優れたスケーラビリティ:サーバーは Netty をベースにしており、Netty の優れた高いスケーラビリティを継承しています。
- 優れたパフォーマンス:このサーバーは Netty の高性能および高スループット機能を継承しており、高性能サーバー シナリオに適しています。
MobileIMSDK でサポートされている 3 種類のインスタント メッセージング メッセージ トレンドはすべて次のとおりです。
(1) クライアント間 (C2C): クライアントによって開始され、受信者は別のクライアントです。
(2) クライアントからサーバー (C2S): クライアントによって開始され、受信者はサーバーになります。
(3) サーバーからクライアント (S2C): サーバーによって開始され、受信者はクライアントになります。
MobileIMSDK に関するその他の質問と回答をご覧ください。
7. 性能試験
ストレス テストでは、MobileIMSDK をプッシュ シナリオで使用すると、理論上の単一マシンの負荷が数千万に達する可能性があることが示されています。チャット アプリケーションで使用すると、1 台のマシンの負荷が数十万に達する可能性があります。
もちろん、各アプリケーションには独自の特性と違いがあります。テスト データは参考用です。
パフォーマンス テスト レポート: ここをクリックして表示します。
8. デモンストレーションプログラム
- Android クライアントのデモ:ここをクリックしてインストールして使用します。
- iOS クライアントのデモ:ここをクリックしてインストールして使用します。
- Java クライアントのデモ:ここをクリックしてインストールして使用します。
- H5 クライアントのデモ:ここをクリックすると、概要が表示されます。
- WeChat ミニ プログラムのデモ:ここをクリックして概要を表示します。
- Uniapp デモ:ここをクリックして概要を表示します。
- Honmeng の次のデモ:ここをクリックして概要を表示しますか?;
- サーバーデモ:ここをクリックしてインストールして使用します。
9. 応用事例
① MobileIMSDK に基づく製品レベルのチャット APP:
詳細な紹介、ダウンロード エクスペリエンス、または実行中のスクリーンショットの表示。
② ネットワーク遅延が大きい場合の MobileIMSDK の場合:
MobileIMSDK に基づく特定の商用製品は、かつて複雑な大陸間ネットワーク環境で動作していた場合、大陸間ネットワークが混雑している場合、エンドツーエンドの通信遅延が 600 ミリ秒を超える場合があります (サーバーとの片道遅延は約 300 ミリ秒)。 、通常、人々が国内にアクセスするとき、主流ポータルの遅延は約 20 ~ 50 ミリ秒です)、一定期間の機密性のない運用データを表示するには、ここをクリックしてください。
10. パッケージダウンロード(オールインワン)
? ①最新リリースバージョン(海外アドレス):Githubパッケージダウンロード
② 最新リリースバージョン(国内住所):コードクラウド gitee パッケージダウンロード(高速アクセス!?)
注: 最新リリース パッケージには、完全なデモ ソース コード、SDK ソース コード、API ドキュメント、コンパイルされた配布パッケージなどが含まれています。
11. 典型的なアプリケーションシナリオ
シナリオ 1: チャット APP
- アプリケーションの説明: WeChat、QQ などに似たチャット ツールの開発に使用できます。
- メッセージの方向:すべてのタイプの C2C、C2S、および S2C を使用する必要があります。
- 特記事項: MobileIMSDK は、チャット アプリケーションのアプリケーション層ロジックとプロトコルを定義しません。開発者はそれらを自分で定義して実装できます。
シナリオ 2: メッセージのプッシュ
- アプリケーションの説明:リアルタイムで情報をクライアントにプッシュする必要があるさまざまなタイプの APP に使用できます。
- メッセージ方向: S2C の 1 つのメッセージ方向のみが使用されます。これは、MobileIMSDK の最も単純なアプリケーション シナリオです。
シナリオ 3: エンタープライズ OA
- アプリケーションの説明:エンタープライズ OA 向けの指示、公式ドキュメント、アプリケーションなどのさまざまなメッセージをリアルタイムでプッシュするために使用でき、ユーザー エクスペリエンスが大幅に向上し、モバイル デバイスにも拡張できます。
- メッセージ方向: S2C の 1 つのメッセージ方向のみが使用されます。これは、MobileIMSDK の最も単純なアプリケーション シナリオです。
シナリオ 4: エンタープライズ OA の拡張バージョン
- アプリケーションの説明:エンタープライズ OA でのさまざまなシステム レベルおよびユーザー レベルのメッセージのリアルタイム インタラクションを実現するために使用でき、インスタント メッセージング テクノロジを最大限に活用して従来の OA の価値を高めます。
- メッセージの傾向:あらゆる種類の C2C、C2S、および S2C を使用できます。これは多くの点でチャット APP と変わりませんが、エンタープライズ OA には独自のユーザー関係管理モデルとロジックがあり、フル機能のチャットよりもはるかにシンプルです。アプリ。
12. 開発ガイド
- Android クライアント開発ガイド:ここをクリックして表示します。
- iOS クライアント開発ガイド:ここをクリックして表示します。
- Java クライアント開発ガイド:ここをクリックして表示します。
- H5 クライアント開発ガイド:ここをクリックして表示します。
- WeChat ミニ プログラム開発ガイド:ここをクリックして表示します。
- Uniapp 開発ガイド:ここをクリックして表示します。
- Honmeng Next 開発ガイド:ここをクリックして表示します。
- サーバー側開発ガイド:ここをクリックして表示します。
13. 認可方法
MobileIMSDK は、研究、学習、商用目的など、永久に無料でご利用いただけます。ただし、ライセンスの範囲を超えて商用目的で使用することは禁止されています。 認証手順の詳細については、MobileIMSDK コミュニティの紹介投稿の「12. 認証方法」セクションを参照してください。
補足:さらに技術サポートや技術協力が必要な場合は、作者QQ: 413980957
(:point_right:作者について)までご連絡ください。
14. 連絡先情報
- ディスカッション、学習、情報エリア: :earth_americas: ここをクリックして入力してください。
- インスタント メッセージング テクノロジ交換グループ:
185926912
(その他の QQ グループについては、ここをクリックして入力してください); - バグや提案は、:love_letter:
[email protected]
に送信してください。 - 技術研修/移転/協力/相談については、著者 QQ: :penguin:
413980957
、WeChat: hellojackjiang
(:point_right: 著者について) までご連絡ください。
15. 著者に寄付する
優れたオープンソースをさらに発展させるには、皆様のご支援が必要です。皆様のご支援とご理解に心より感謝申し上げます。また、皆様がオープンソースから恩恵を受けられることを願っています。
- 寄付リンク: ここをクリックして入力してください。
16. 著者をフォローする
- 著者について: クリックして入力しますか?
- 注目すべきポイント:BeautyEye Engineering
- ブログアドレス: クリックして入力してください
- Github ホームページ: クリックして入力します
- 私の公式アカウント: :point_down: :point_down:
付録: デモ実行中のスクリーンショット
1.Hongmeng で MobileIMSDK デモを実行した場合の効果 次に:
编译和运行:
Hongmeng Next Demo の完全なソース コードを表示します。
2. Android および iOS での MobileIMSDK デモの実行効果:
安装和使用:
Android バージョンのデモ ヘルプ ページに入り、iOS バージョンのデモ ヘルプ ページに入ります。
3. H5 側での MobileIMSDK デモ実行効果:
4. WeChat アプレット上で実行される MobileIMSDK デモの効果:
5. Uniapp 上で実行される MobileIMSDK デモの効果:
6. Windows 上での MobileIMSDK デモの実行効果:
安装和使用:
Java バージョンのデモ ヘルプ ページに入ります。
7. Mac OS X での MobileIMSDK デモの実行効果:
安装和使用:
Java バージョンのデモ ヘルプ ページに入ります。
8. MobileIMSDK-Web バージョン クライアント デモ実行効果:
1)MobileIMSDK-Web Demo在手机端浏览器运行效果:
MobileIMSDK-Web バージョンの詳細を表示します。
2)MobileIMSDK-Web Demo在PC端多种主流浏览器的运行效果:
MobileIMSDK-Web バージョンの詳細を表示します。
ケース 1: MobileIMSDK に基づくフル機能のモバイル IM 製品
关于RainbowChat产品的更多资料请见:
。
[特記事項]: github イメージがブロックされたため、イメージが正常に同期されませんでした。RainbowChat 製品のすべての機能のスクリーンショットから確認してください。 :point_left: :point_left:
更多清晰运行截图请见:
。
事例 2: MobileIMSDK-Web をベースとした Web ベースの IM システム
RainbowChat-Web 製品のメイン インターフェイス:
更多截图和视频:
その他のスクリーンショットについてはここをクリックし、その他のデモビデオについてはここをクリックしてください。
RainbowChat-Web 製品のメイン インターフェイス (チャット ウィンドウが全画面表示の場合):
更多截图和视频:
その他のスクリーンショットについてはここをクリックし、その他のデモビデオについてはここをクリックしてください。
RainbowChat-Web 製品のメイン インターフェイス (独立した UI 効果):
更多截图和视频:
その他のスクリーンショットについてはここをクリックし、その他のデモビデオについてはここをクリックしてください。