Wildfire IM est une messagerie instantanée de qualité professionnelle et une solution globale audio et vidéo en temps réel, entretenue et soutenue par Pékin Wildfire Infinite Network Technology Co., Ltd.
Les principales caractéristiques sont les suivantes: le déploiement privé est sûr et fiable, des performances puissantes, des fonctions complètes, une prise en charge complète de la plate-forme, un taux open source élevé, un déploiement et un fonctionnement et une maintenance simples, un développement secondaire amical, facile à se connecter avec des systèmes tiers ou intégrer dans les systèmes existants. Veuillez vous référer à la documentation en ligne pour plus de détails.
Il comprend principalement les projets suivants:
| Adresse du référentiel GitHub (site principal) | Adresse de l'entrepôt de code de code (miroir) | illustrer | Remarque |
|---|---|---|---|
| im-serveur | im-serveur | Serveur IM | |
| chat Android | chat Android | Wildfire IM Android SDK Code source et code source d'application | Il peut être facilement développé ou intégré dans les applications existantes |
| chat ios | chat ios | Wildfire Im iOS SDK Code source et code source d'application | Il peut être facilement développé ou intégré dans les applications existantes |
| chat PC | chat PC | Côté PC développé à base d'électron | |
| chatte | chatte | Wildfire IM Web end, adresse de l'expérience | |
| chat wx | chat wx | Demo de la plate-forme de mini-programme (prend en charge les mini-plateformes de programme telles que WeChat, Baidu, Alibaba, Byte, QQ, etc.) | |
| serveur d'applications | serveur d'applications | Serveur d'applications | |
| robot_server | robot_server | Serveur de robot | |
| push_server | push_server | Serveur push | |
| docs | docs | Documents liés à l'influence IM, y compris la conception, le concept, le développement et les instructions, Voir en ligne |
Comme démonstration de l'application back-end de l'incendie de forêt IM, ce projet a les fonctions suivantes:
Ce projet est un projet de démonstration. Lorsque vous l'utilisez, il est nécessaire de transplanter les fonctions correspondantes dans vos services d'application. Si vous avez besoin de l'utiliser directement, veuillez suivre les instructions ci-dessous pour résoudre le problème du goulot d'étranglement des performances.
mvn clean package
L'emballage générera des packages Java et des packages d'installation Deb. Si vous avez besoin de packages d'installation RPM, veuillez décommenter le plugin du package RPM dans pom.xml . De plus, le régime doit être installé localement, ce qui est facile à installer dans les systèmes Linux ou Mac. Cygwin et RPM doivent être installés sur les systèmes Windows. Veuillez vérifier les informations spécifiques sur Baidu.
Après modification, exécutez le mvn clean package Commande de compilation et le package RPM est généré dans target .
L'application utilise la fonction Tencent Cloud SMS, et vous devez postuler pour les trois paramètres appid/appkey/templateId et le configurer dans tencent_sms.properties . Les utilisateurs peuvent également passer à leurs fournisseurs de messages texte préférés eux-mêmes. En l'absence d'un fournisseur SMS, superCode peut être utilisé pour les tests. Après la configuration, le client peut se connecter directement à l'aide superCode . En ligne, assurez-vous de supprimer superCode .
Ce service de démonstration contient 4 fichiers de configuration dans le répertoire config du projet, à savoir application.properties , im.properties , aliyun_sms.properties et tencent_sms.properties . Veuillez mettre la configuration correctement dans le répertoire config dans le répertoire où se trouve le package JAR.
sms.verdordansapplication.propertiesConfiguration décide quel fournisseur de services SMS à utiliser, 1 est Tencent SMS et 2 est Alibaba Cloud SMS
Recherchez app-XXXX.jar dans target , mettez le package JAR et config où le fichier de configuration est placé, puis exécutez la commande suivante:
java -jar app-XXXXX.jar
Ce service ne fournit initialement que la fonction d'obtention de jetons, et a ensuite progressivement ajouté des fonctions telles que les annonces de groupe / shiro, et doit être introduite dans la base de données. Afin d'améliorer la commodité de l'expérience utilisateur, la base de données H2 a été introduite, permettant aux utilisateurs d'exécuter directement sans installer de logiciel (JRE est toujours requis). De plus, la session Shiro est également stockée dans la base de données H2. Tout en améliorant la commodité, il conduit à des goulots d'étranglement des performances d'une part, et d'autre part, il ne peut pas être élargi horizontalement et très disponible. Par conséquent, il est nécessaire d'utiliser ce projet et d'apporter deux modifications.
application.properties pour changer de méthodes.La version 0.40 présente la fonction Shiro. Avant de mettre à niveau ce service, vous devez vous assurer que le client a introduit le client mobile lorsque ou après la version de la version 0.40 de ce projet. Et après la mise à niveau, le client doit se déconnecter et se connecter à nouveau pour enregistrer la session (la déconnexion est appelée lors de la connexion, et la fausse valeur est requise, afin que l'historique de chat historique puisse être conservé en se connectant à nouveau. Il doit être changé pour cela dans la nouvelle version). S'il s'agit d'une ancienne version ou n'est plus connectée, les fonctions d'annonce de groupe et de connexion de code de numérisation ne seront pas disponibles. Pour la sécurité du système, une mise à niveau est recommandée.
La version 0.43 modifie le court indication de la connexion Web et PC en interrogation longue. Si la mise à niveau du service d'application nécessite des modifications correspondantes sur le Web et le PC.
0.45.1 Le commutateur wfc.all_client_support_ssl est ajouté au fichier de configuration. Lors de la mise à niveau vers cette version ou ultérieure, ce commutateur doit être ajouté au fichier de configuration.
La version 0.51 a ajouté l'authentification des jetons. L'authentification des jetons et des cookies peut être prise en charge en même temps. Le client a également apporté des modifications correspondantes et accorde la priorité à l'utilisation de jetons. Faites attention à la compatibilité.
À partir de la version 0.53, les données sont stockées dans la base de données. Par conséquent, le service d'application est un service sans état et plusieurs services d'application peuvent être déployés pour une haute disponibilité et une expansion horizontale. Il est nécessaire de noter que les données sont stockées dans la base de données. Si le nombre d'utilisateurs est important ou si le volume commercial est relativement important, vous pouvez ouvrir le service d'application vous-même et ajouter le cache Redis.
Il y aura une fréquence limitée de demandes pour la même IP dans le service. Par défaut, une IP peut être demandée 200 fois par heure. Il peut être ajusté en fonction de votre situation réelle (vous pouvez la trouver en recherchant la chaîne Ratelimiter). Si vous utilisez Nginx comme proxy inverse, vous devez faire attention à la transmission de la véritable IP de l'utilisateur (en utilisant X-Real-IP ou X-Forwardée) pour éviter de ne pas pouvoir obtenir la vraie IP et affectant ainsi une utilisation normale.
Sous la licence MIT. Voir le fichier de licence pour plus de détails
Veuillez vous référer aux instructions pour utiliser Alibaba Cloud SMS