Wildfire IMは、プロのインスタントメッセージングとリアルタイムのオーディオおよびビデオ全体的なソリューションであり、北京Wildfire Infinite Network Technology Co.、Ltdによって維持およびサポートされています。
主な機能は次のとおりです。プライベートデプロイメントは、安全で信頼性が高く、強力なパフォーマンス、完全な機能、完全なプラットフォームサポート、高いオープンソースレート、シンプルな展開と運用とメンテナンス、フレンドリーなセカンダリ開発、サードパーティシステムとの接続、または既存のシステムに埋め込まれています。詳細については、オンラインドキュメントを参照してください。
主に次のプロジェクトが含まれています。
| GitHubリポジトリアドレス(メインサイト) | コードクラウドウェアハウスアドレス(ミラー) | 説明します | 述べる |
|---|---|---|---|
| im-server | im-server | imサーバー | |
| Android-chat | Android-chat | WildFire IM Android SDKソースコードとアプリソースコード | 既存のアプリケーションに簡単に開発または統合できます |
| iOS-chat | iOS-chat | WildFire IM iOSSDKソースコードとアプリソースコード | 既存のアプリケーションに簡単に開発または統合できます |
| pc-chat | pc-chat | PC側は電子に基づいて開発されました | |
| Webチャット | Webチャット | Wildfire IM Web End、Experience Address | |
| wx-chat | wx-chat | ミニプログラムプラットフォームのデモ(Wechat、Baidu、Alibaba、BYTE、QQなどのミニプログラムプラットフォームをサポートしています) | |
| アプリサーバー | アプリサーバー | アプリケーションサーバー | |
| robot_server | robot_server | ロボットサーバー | |
| push_server | push_server | サーバーをプッシュします | |
| ドキュメント | ドキュメント | 設計、概念、開発、指示を含むWildfire IM関連文書、オンラインで見る |
Wildfire IMのバックエンドアプリケーションのデモンストレーションとして、このプロジェクトには次の機能があります。
このプロジェクトはデモプロジェクトです。それを使用する場合、対応する機能をアプリケーションサービスに移植する必要があります。直接使用する必要がある場合は、以下の指示に従って、パフォーマンスボトルネックの問題を解決してください。
mvn clean package
パッケージは、Javaパッケージとデブインストールパッケージを生成します。 RPMインストールパッケージが必要な場合は、 pom.xmlのRPMパッケージのプラグインを除外してください。さらに、RPMはローカルにインストールする必要があります。これはLinuxまたはMacシステムに簡単にインストールできます。 CygwinとRPMは、Windowsシステムにインストールする必要があります。 Baiduの特定の情報を確認してください。
変更後、コンパイルコマンドmvn clean packageを実行すると、RPMパッケージがtargetディレクトリに生成されます。
アプリケーションはTencent Cloud SMS関数を使用しているため、 appid/appkey/templateId 3つのパラメーターを適用し、 tencent_sms.propertiesで構成する必要があります。ユーザーは、お気に入りのテキストメッセージプロバイダー自身に変更することもできます。 SMSプロバイダーがない場合、 superCodeテストに使用できます。セットアップ後、クライアントはsuperCodeを使用して直接ログインできます。オンラインの場合は、必ずsuperCodeを削除してください。
このデモンストレーションサービスには、プロジェクトのconfigディレクトリに4つの構成ファイルがあります。つまり、 application.properties 、 im.properties 、 aliyun_sms.properties 、 tencent_sms.propertiesです。 JARパッケージが配置されているディレクトリのconfigディレクトリに構成を正しく配置してください。
application.propertiesのsms.verdor構成は、使用するSMSサービスプロバイダーを決定します。
targetディレクトリでapp-XXXX.jarを見つけ、jarパッケージと構成ファイルが配置されている場所にconfigディレクトリを配置し、次のコマンドを実行します。
java -jar app-XXXXX.jar
このサービスは当初、トークンを取得する機能のみを提供し、後にグループアナウンス/シロなどの機能を徐々に追加し、データベースに導入する必要があります。ユーザーエクスペリエンスの利便性を向上させるために、データベースH2が導入され、ユーザーはソフトウェアをインストールせずに直接実行できます(JREは引き続き必要です)。さらに、ShiroセッションはH2データベースにも保存されます。利便性を向上させながら、一方でパフォーマンスのボトルネックにつながり、一方では水平に拡張し、高度に利用可能にすることはできません。したがって、このプロジェクトを使用して2つの変更を加える必要があります。
application.propertiesファイルの説明を参照して、メソッドを切り替えます。バージョン0.40では、シロ機能を紹介します。このサービスをアップグレードする前に、このプロジェクトのバージョン0.40をリリースするときにクライアントがモバイルクライアントを導入したことを確認する必要があります。アップグレード後、クライアントはログアウトしてログインしてセッションを保存する必要があります(ログアウト時に切断が呼び出され、誤った値が必要になるため、履歴チャット履歴を再度ログインすることで保持できます。これは新しいバージョンで変更する必要があります)。古いバージョンであるか、再度ログインしていない場合、グループの発表とスキャンのコードログイン関数は利用できません。システムセキュリティには、アップグレードが推奨されます。
バージョン0.43は、WebおよびPCのログインの短いポーリングを長いポーリングに変更します。アプリケーションサービスのアップグレードに、WebとPCの対応する変更が必要な場合。
0.45.1 wfc.all_client_support_sslスイッチが構成ファイルに追加されます。このバージョン以降にアップグレードする場合、このスイッチを構成ファイルに追加する必要があります。
バージョン0.51にトークン認証が追加されました。トークンとCookiesの認証は同時にサポートできます。また、クライアントは対応する変更を加えており、トークンの使用を優先しています。互換性に注意してください。
バージョン0.53から始めて、データはデータベースに保存されます。したがって、アプリケーションサービスは無国籍サービスであり、高可用性と水平拡張のために複数のアプリケーションサービスを展開できます。データはデータベースに保存されていることに注意する必要があります。ユーザー数が多い場合、またはビジネス量が比較的大きい場合は、アプリケーションサービスを自分で開いてRedisキャッシュを追加できます。
サービス内の同じIPのリクエストの頻度が限られています。デフォルトでは、IPは1時間あたり200回要求できます。実際の状況に応じて調整できます(Ratelimiter文字列を検索することで見つけることができます)。 Nginxを逆プロキシとして使用する場合、実際のIPを取得できず、通常の使用に影響を与えることを避けるために、ユーザーの実際のIP(X-Real-IPまたはX-Forwarded-Forを使用)に合格することに注意する必要があります。
MITライセンスの下。詳細については、ライセンスファイルを参照してください
Alibaba Cloud SMSを使用する手順を参照してください