️ Rappel spécial : si le téléchargement de Github est lent, veuillez vous rendre sur : https://gitee.com/jackjiang/MobileIMSDK Le code est entièrement synchronisé, alors n'hésitez pas à le télécharger. ️
❤️Dernières nouvelles : Hongmeng La prochaine version de MobileIMSDK a été publiée❤️
1. Répertoire de raccourcis
1.1.Informations théoriques
- Classique de la théorie de la programmation réseau "Explication détaillée TCP/IP" (version de lecture en ligne)
1.2.Informations associées
- Journal de mise à jour de la version MobileIMSDK
- FAQ MobileIMSDK ?
- Rapport de test de performances MobileIMSDK
1.3. Cas de produits
- Version d'essai de RainbowChat ?
- Aperçu de la capture d'écran de la version d'essai de RainbowChat
- Certaines données opérationnelles non sensibles d'un certain Chat
1.4.Installation de démonstration
- Aide à l'installation et à l'utilisation de la démo client (Android)
- Aide à l'installation et à l'utilisation de la démo client (iOS)
- Aide à l'installation et à l'utilisation de la démo client (Java)
- Démonstration et description de la démo client (H5)
- Démonstration et explication de la démo client (applet WeChat)
- Démonstration de démonstration client et instructions (Uniapp)
- Démonstration et explication de la démo client (Hongmeng Next) ?
- Aide au déploiement et à l'utilisation de la démonstration côté serveur
1.5. Guide de développement
- Guide de développement client (Android)
- Guide de développement client (iOS)
- Guide de développement client (Java)
- Guide de développement client (H5)
- Guide de développement client (programme WeChat Mini)
- Guide de développement client (Uniapp)
- Guide de développement client (Hongmeng Next)
- Guide de développement de serveur
1.6.Documentation des API
- Documentation de l'API du SDK client (Android) : version TCP, version UDP
- Documentation de l'API du SDK client (iOS) : version TCP, version UDP
- Documentation de l'API du SDK client (Java) : version TCP, version UDP
- Documentation de l'API du SDK client (H5) : cliquez ici pour entrer
- Documentation de l'API du SDK client (applet WeChat) : cliquez ici pour entrer
- Documentation de l'API du SDK client (Uniapp) : cliquez ici pour entrer
- Documentation API du SDK client (Hongmeng Next) : manuel complet, documentation API
- Documentation de l'API du SDK serveur
1.7. Téléchargement du package
- Téléchargement du package de la dernière version de MobileIMSDK ?
- Adresse étrangère : adresse Github de MobileIMSDK
- Adresse nationale : adresse du gîte dans le cloud de codes de MobileIMSDK (accès rapide !)
1.8. Apprentissage et communication
- Communauté d'échange technique : cliquez ici pour participer
- Discussion FAQ : Cliquez ici pour participer ?
- Groupe Q d'échange technique :
215477170
? - Pour une assistance technique/coopération/consultation, veuillez contacter l'auteur QQ :
413980957
(À propos de l'auteur ?) - Suivez mon compte officiel : :point_down: :point_down:
2. Présentation du projet
MobileIMSDK est un framework original de couche de communication IM développé spécifiquement pour les terminaux mobiles :
- Il est testé depuis 10 ans ;
- Ultra léger et hautement raffiné, le package lib fait moins de 50 Ko ;
- Soigneusement encapsulé, un ensemble d'API prend en charge avec élégance trois protocoles : UDP , TCP et WebSocket (probablement le seul open source sur l'ensemble du réseau) ;
- Le client prend en charge iOS, Android, Java standard, H5 (pas encore open source), mini programme (pas encore open source), Uniapp (pas encore open source), Hongmeng Next (SDK pas encore open source, code source de démonstration complet) ;
- Le serveur est basé sur Netty, avec d'excellentes performances et une extension facile :point_left:
- Il peut interagir de manière transparente avec le projet sœur MobileIMSDK-Web pour réaliser un chat Web ou un push, etc. :point_left:
- Il peut être appliqué à divers scénarios tels que les applications de chat multi-appareils et inter-réseaux, l'OA d'entreprise et l'envoi de messages.
Le projet MobileIMSDK a été continuellement mis à jour depuis octobre 2013 (la dernière version est la v6.5, cliquez ici pour consulter le journal de mise à jour de version). Après 10 ans, il a été initialement utilisé comme couche inférieure de messagerie instantanée pour un produit à usage personnel). et a été entièrement développé à partir de zéro.
À l'heure actuelle, la dernière version de Hongmeng Next a été développée. J'espère qu'elle pourra inspirer et aider ceux qui en ont besoin.
Vous aurez peut-être besoin de : Afficher plus de questions et de réponses sur MobileIMSDK.
Un autre projet frère : le framework léger de messagerie instantanée côté Web : MobileIMSDK-Web est également continuellement mis à jour et est dédié au chat Web et à l'envoi de messages sur les téléphones mobiles ou les PC.
3. Mise à jour synchrone de l'hébergement du code
gîte nuage de code
- Hébergement de code : https://gitee.com/jackjiang/MobileIMSDK
- Communauté technologique : Cliquez pour afficher plus d'informations
GitHub.com
- Hébergement de code : https://github.com/JackJiang2011/MobileIMSDK
- Communauté technologique : Cliquez pour afficher plus d'informations
Journal de mise à jour de la version MobileIMSDK : cliquez ici pour afficher ?
4. Objectifs de conception
Laissez les développeurs se concentrer sur le développement de la logique des applications复杂的即时通讯算法交由SDK开发人员
,解偶即时通讯应用开发的复杂性
.
5. Composition du cadre
L'ensemble du framework MobileIMSDK se compose des 7 parties suivantes :
- SDK client Android : utilisé pour la version Android du client de messagerie instantanée, prend en charge Android 4.0 et supérieur, consultez la documentation de l'API ;
- SDK client iOS : utilisé pour développer un client de messagerie instantanée iOS, prend en charge iOS 12.0 et supérieur, consulter la documentation de l'API ;
- SDK client Java : utilisé pour développer des clients de messagerie instantanée PC multiplateformes, prenant en charge Java 1.6 et supérieur, voir la documentation de l'API ;
- SDK client H5 : il n'existe pas encore de version open source, veuillez vérifier la version annotée raffinée ;
- SDK du programme WeChat Mini : il n'existe pas encore de version open source, veuillez vérifier la version modifiée et annotée ;
- SDK Uniapp : Il n'existe pas encore de version open source, veuillez vérifier la version modifiée et annotée ;
- Hongmeng Next SDK : il n'existe actuellement pas de version open source du SDK (voir la version annotée raffinée) et le code source complet du projet de la démo ;
- SDK serveur : utilisé pour développer des serveurs de messagerie instantanée, prend en charge Java 1.7 et supérieur, veuillez consulter la documentation de l'API.
L'architecture de l'ensemble du framework MobileIMSDK se compose de :
MobileIMSDK a été continuellement développé et mis à niveau, et le client Hongmeng Next est la dernière réalisation du projet MobileIMSDK.
De plus : MobileIMSDK peut interagir de manière transparente avec son projet sœur MobileIMSDK-Web, permettant ainsi de discuter ou de pousser sur la page Web.
6. Caractéristiques techniques
- Éprouvé par le temps : après 10 ans, il a été continuellement mis à niveau depuis l'ère Andriod 2.3 et iOS 5.0 jusqu'à aujourd'hui (il n'est en aucun cas inachevé) ;
- Super léger : package lib hautement raffiné dans les 50 Ko ;
- Protocoles multiples : il s'agit peut-être du seul framework open source de ce type sur l'ensemble du réseau capable de prendre en charge trois protocoles, UDP, TCP et WebSocket, simultanément avec un ensemble d'API ? ;
- Réseaux multiples : les implémentations de protocoles TCP, UDP et WebSocket soigneusement optimisées peuvent être appliquées aux réseaux satellite, aux réseaux mobiles, à l'IoT intégré et à d'autres scénarios ;
- Couverture multiterminale : le client prend en charge iOS, Android, Java standard, H5, l'applet WeChat, Uniap et Hongmeng Next ;
- Rentabilité efficace : la mise en œuvre unique du protocole UDP, sans caractéristiques de connexion, peut atteindre une charge réseau et des capacités de débit plus élevées dans les mêmes conditions ;
- Direction des messages : prend en charge toutes les directions possibles des messages dans la technologie de messagerie instantanée, un total de 3 types (c'est-à-dire C2C, C2S, S2C) ;
- Sticky and half-packet : résout avec élégance les problèmes classiques de sticky et demi-paquet de TCP à chaque extrémité. La couche inférieure est encapsulée et la couche d'application est complètement imperceptible ;
- Mécanisme QoS : mécanisme complet de garantie de livraison des messages (retransmission automatique, déduplication des messages, retour d'état, etc.) pour garantir qu'aucun message n'est manqué ;
- Robuste et fiable : la pratique a montré qu'il est très approprié pour un fonctionnement stable et fiable dans des environnements à haute latence, intercontinentaux et de normes de réseau différentes ;
- Récupération de déconnexion du réseau : il a la capacité de détecter automatiquement les conditions du réseau et de réparer automatiquement les déconnexions du réseau ;
- Algorithme original : l'algorithme de base et la mise en œuvre sont tous originaux, garantissant une marge d'amélioration et d'amélioration continues ;
- Plusieurs modes : préréglez plusieurs modes de sensibilité en temps réel pour contrôler l'immédiateté, le trafic et la consommation d'énergie du client selon différents scénarios ;
- Compression des données : mise en œuvre avec son propre protocole, la compression des données peut être personnalisée à l'avenir pour contrôler de manière flexible le trafic client et le débit du réseau du serveur ;
- Hautement encapsulé : l'interface API hautement encapsulée garantit la simplicité de l'appel et la rend également applicable à davantage de scénarios d'application ;
- Prise en charge Web : il peut interagir de manière transparente avec le projet sœur MobileIMSDK-Web pour réaliser des discussions ou des push de pages Web, etc. :point_left:
- Bonne évolutivité : le serveur est basé sur Netty et hérite de l'excellente évolutivité élevée de Netty ;
- Excellentes performances : le serveur hérite des fonctionnalités hautes performances et haut débit de Netty et convient aux scénarios de serveur hautes performances.
Les trois types de tendances de messages de messagerie instantanée pris en charge par MobileIMSDK sont :
(1) Client à Client (C2C) : il est initié par un client et le destinataire est un autre client ;
(2) Client vers serveur (C2S) : il est initié par un client et le destinataire est le serveur ;
(3) Serveur vers client (S2C) : il est initié par le serveur et le destinataire est un client.
Vous aurez peut-être besoin de : Afficher plus de questions et de réponses sur MobileIMSDK.
7. Test de performances
Les tests de résistance montrent que lorsque MobileIMSDK est utilisé dans des scénarios push, la charge théorique d'une seule machine peut approcher des dizaines de millions. Lorsqu'elle est utilisée dans des applications de chat, la charge sur une seule machine peut atteindre des centaines de milliers.
Bien entendu, chaque application a ses propres caractéristiques et différences. Veuillez l'évaluer en fonction de scénarios spécifiques. Les données de test sont uniquement à titre de référence.
Rapport de test de performances : cliquez ici pour le consulter.
8. Programme de démonstration
- Démo du client Android : cliquez ici pour installer et utiliser ;
- Démo du client iOS : cliquez ici pour installer et utiliser ;
- Démo du client Java : cliquez ici pour installer et utiliser ;
- Démo du client H5 : Cliquez ici pour voir l'introduction ;
- Démo du programme WeChat Mini : cliquez ici pour voir l'introduction ;
- Démo Uniapp : Cliquez ici pour voir l'introduction ;
- Hongmeng Next Demo : Cliquez ici pour voir l'introduction ?;
- Démo du serveur : cliquez ici pour installer et utiliser.
9. Cas de candidature
① APPLICATION de chat au niveau du produit basée sur MobileIMSDK :
Introduction détaillée, expérience de téléchargement ou affichage de captures d'écran en cours d'exécution.
② Cas MobileIMSDK avec un retard réseau élevé :
Un certain produit commercial basé sur MobileIMSDK fonctionnait autrefois dans un environnement de réseau intercontinental complexe. Le délai de communication de bout en bout peut atteindre plus de 600 ms lorsque le réseau intercontinental est occupé (le délai aller simple avec le serveur est d'environ 300 ms). , et généralement lorsque les gens visitent le pays (la latence des portails grand public est d'environ 20 à 50 ms). Cliquez ici pour afficher les données opérationnelles non sensibles pendant une certaine période.
10. Téléchargement du package (tout en un)
? ① Dernière version (adresse à l'étranger) : téléchargement du package Github
? ② Dernière version (adresse nationale) : téléchargement du package Code Cloud Gitee (accès rapide ! ?)
Remarque : le dernier package de version contient le code source de démonstration complet, le code source du SDK, la documentation de l'API, le package de distribution compilé, etc.
11. Scénarios d'application typiques
Scénario 1 : application de chat
- Description de l'application : Il peut être utilisé pour développer des outils de chat similaires à WeChat, QQ, etc.
- Sens du message : tous les types de C2C, C2S et S2C doivent être utilisés.
- Remarque spéciale : MobileIMSDK ne définit pas la logique de la couche application et les protocoles des applications de chat. Les développeurs peuvent les définir et les implémenter eux-mêmes.
Scénario 2 : transmission de messages
- Description de l'application : peut être utilisé pour différents types d'applications qui doivent transmettre des informations aux clients en temps réel.
- Direction du message : une seule direction de message de S2C est utilisée, ce qui constitue le scénario d'application le plus simple de MobileIMSDK.
Scénario 3 : OA en entreprise
- Description de l'application : il peut être utilisé pour diffuser divers messages tels que des instructions, des documents officiels et des applications pour le bureautique d'entreprise en temps réel, améliorant considérablement l'expérience utilisateur et peut être étendu aux appareils mobiles.
- Direction du message : une seule direction de message de S2C est utilisée, ce qui constitue le scénario d'application le plus simple de MobileIMSDK.
Scénario 4 : version améliorée du bureau ouvert d'entreprise
- Description de l'application : Il peut être utilisé pour réaliser une interaction en temps réel de divers messages au niveau du système et au niveau de l'utilisateur dans le OA d'entreprise, en utilisant pleinement la technologie de messagerie instantanée pour améliorer la valeur du OA traditionnel.
- Tendance des messages : tous les types de C2C, C2S et S2C peuvent être utilisés. Cela ne diffère pas des applications de chat à bien des égards. Cependant, l'OA d'entreprise a son propre modèle et sa propre logique de gestion des relations utilisateur, qui sont beaucoup plus simples que le chat complet. Applications.
12. Guide de développement
- Guide de développement de clients Android : cliquez ici pour voir ;
- Guide de développement du client iOS : cliquez ici pour voir ;
- Guide de développement du client Java : cliquez ici pour voir ;
- Guide de développement client H5 : Cliquez ici pour voir ;
- Guide de développement du mini programme WeChat : cliquez ici pour voir ;
- Guide de développement Uniapp : Cliquez ici pour voir ;
- Guide de développement Hongmeng Next : cliquez ici pour voir ;
- Guide de développement côté serveur : cliquez ici pour le consulter.
13. Méthode d'autorisation
Vous pouvez utiliser MobileIMSDK gratuitement et pour toujours, par exemple à des fins de recherche, d'étude et même à des fins commerciales. Cependant, il est interdit de l'utiliser à des fins commerciales au-delà de la portée de la licence. Veuillez respecter les droits de propriété intellectuelle. Pour des instructions d'autorisation plus détaillées, veuillez consulter la section « 12. Méthodes d'autorisation » dans le message d'introduction à la communauté MobileIMSDK.
Remarque complémentaire : si vous avez besoin de plus d'assistance technique ou de coopération technique, veuillez contacter l'auteur, QQ : 413980957
(:point_right : À propos de l'auteur).
14. Coordonnées
- Espace de discussion, d'apprentissage et d'information : :earth_americas : Cliquez ici pour participer ;
- Groupe d'échange de technologie de messagerie instantanée :
185926912
(Pour plus de groupes QQ, cliquez ici pour entrer) ; - Veuillez envoyer vos bugs et suggestions à : love_letter:
[email protected]
; - Pour une formation technique/transfert/coopération/consultation, veuillez contacter l'auteur QQ : :penguin :
413980957
, WeChat : hellojackjiang
(:point_right : À propos de l'auteur).
15. Faites un don à l'auteur
L'excellent open source a besoin de votre soutien pour aller plus loin. Je vous remercie sincèrement pour votre soutien et votre compréhension, et j'espère que vous pourrez bénéficier de l'open source.
- Lien de don : Cliquez ici pour participer.
16. Suivez l'auteur
- À propos de l'auteur : Cliquez pour entrer ?
- Attention recommandée : BeautyEye Engineering
- Adresse du blog : cliquez pour entrer
- Page d'accueil de Github : cliquez pour entrer
- Mon compte officiel : :point_down: :point_down:
Annexe : captures d'écran de la démo
1. L'effet de la démo MobileIMSDK exécutée sur Hongmeng Suivant :
编译和运行:
affichez le code source complet de Hongmeng Next Demo.
2. Effet en cours d'exécution de la démonstration MobileIMSDK sur Android et iOS :
安装和使用:
accédez à la page d'aide de la version Android Démo, accédez à la page d'aide de la version iOS.
3. Effet d'exécution de la démonstration MobileIMSDK du côté H5 :
4. L'effet de la démo MobileIMSDK exécutée sur l'applet WeChat :
5. L'effet de la démo MobileIMSDK exécutée sur Uniapp :
6. Effet en cours d'exécution de la démonstration MobileIMSDK sur Windows :
安装和使用:
Accédez à la page d'aide de la version Java Démo.
7. Effet en cours d'exécution de la démonstration MobileIMSDK sur Mac OS X :
安装和使用:
Accédez à la page d'aide de la version Java Démo.
8. Effet de démonstration du client version MobileIMSDK-Web :
1)MobileIMSDK-Web Demo在手机端浏览器运行效果:
affichez les détails de la version MobileIMSDK-Web.
2)MobileIMSDK-Web Demo在PC端多种主流浏览器的运行效果:
affichez les détails de la version MobileIMSDK-Web.
Cas 1 : produit de messagerie instantanée mobile complet basé sur MobileIMSDK
关于RainbowChat产品的更多资料请见:
Captures d'écran de toutes les fonctions des produits RainbowChat (vidéo réelle : Android et iOS).
[Remarque spéciale] : Comme l'image github a été bloquée, l'image n'a pas été synchronisée avec succès. Veuillez la vérifier à partir des captures d'écran de toutes les fonctions du produit RainbowChat ! :point_left: :point_left:
更多清晰运行截图请见:
Captures d'écran de toutes les fonctions du produit RainbowCha.
Cas 2 : système de messagerie instantanée basé sur MobileIMSDK-Web
Interface principale du produit RainbowChat-Web :
更多截图和视频:
cliquez ici pour plus de captures d'écran et cliquez ici pour plus de vidéos de démonstration.
Interface principale du produit RainbowChat-Web (lorsque la fenêtre de discussion est en plein écran) :
更多截图和视频:
cliquez ici pour plus de captures d'écran et cliquez ici pour plus de vidéos de démonstration.
Interface principale du produit RainbowChat-Web (effet d'interface utilisateur indépendant) :
更多截图和视频:
cliquez ici pour plus de captures d'écran et cliquez ici pour plus de vidéos de démonstration.