Wildfire IM은 Beijing Wildfire Infinite Network Technology Co., Ltd.가 관리하고 지원하는 전문가 급 인스턴트 메시징 및 실시간 오디오 및 비디오 전체 솔루션입니다.
주요 기능은 다음과 같습니다. 개인 배포는 안전하고 신뢰할 수 있으며 강력한 성능, 완전한 기능, 전체 플랫폼 지원, 높은 오픈 소스 비율, 간단한 배포 및 운영 및 유지 보수, 우호적 인 2 차 개발, 타사 시스템과 연결하기 쉬우거나 기존 시스템에 포함됩니다. 자세한 내용은 온라인 문서를 참조하십시오.
주로 다음 프로젝트가 포함됩니다.
| Github 저장소 주소 (기본 사이트) | 코드 클라우드 창고 주소 (미러) | 설명 | 주목 |
|---|---|---|---|
| 임사자 | 임사자 | IM 서버 | |
| 안드로이드 chat | 안드로이드 chat | Wildfire IM Android SDK 소스 코드 및 앱 소스 코드 | 쉽게 개발하거나 기존 응용 프로그램에 통합 할 수 있습니다. |
| iOS-chat | iOS-chat | Wildfire IM iOS SDK 소스 코드 및 앱 소스 코드 | 쉽게 개발하거나 기존 응용 프로그램에 통합 할 수 있습니다. |
| PC-Chat | PC-Chat | PC 쪽은 전자를 기반으로 개발되었습니다 | |
| 웹 채팅 | 웹 채팅 | 산불 IM 웹 엔드, 경험 주소 | |
| WX-Chat | WX-Chat | 미니 프로그램 플랫폼의 데모 (Wechat, Baidu, Alibaba, Byte, QQ 등과 같은 미니 프로그램 플랫폼 지원) | |
| 앱 서버 | 앱 서버 | 응용 프로그램 서버 | |
| robot_server | robot_server | 로봇 서버 | |
| push_server | push_server | 서버 푸시 | |
| 문서 | 문서 | 디자인, 개념, 개발 및 지침을 포함한 산불 IM 관련 문서, 온라인보기 |
산불 IM의 백엔드 응용 프로그램을 시연하는이 프로젝트는 다음과 같은 기능을 갖습니다.
이 프로젝트는 데모 프로젝트입니다. 그것을 사용할 때는 해당 기능을 응용 프로그램 서비스에 이식해야합니다. 직접 사용해야하는 경우 아래 지침을 따라 성능 병목 현상 문제를 해결하십시오.
mvn clean package
포장은 Java 패키지 및 Deb 설치 패키지를 생성합니다. RPM 설치 패키지가 필요한 경우 pom.xml 에서 RPM 패키지의 플러그인을 무너 뜨리십시오. 또한 RPM은 로컬로 설치해야하며 Linux 또는 Mac 시스템에 쉽게 설치할 수 있습니다. Cygwin 및 RPM은 Windows Systems에 설치해야합니다. Baidu의 특정 정보를 확인하십시오.
수정 후 컴파일 명령 mvn clean package 실행하면 RPM 패키지가 target 디렉토리에서 생성됩니다.
응용 프로그램은 Tencent Cloud SMS 기능을 사용하며 appid/appkey/templateId 세 가지 매개 변수를 신청하고 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 서비스 제공 업체를 사용할 SMS 서비스 제공자, 1은 Tencent SMS이고 2는 Alibaba Cloud SMS입니다.
target 디렉토리에서 app-XXXX.jar 찾아서 구성 파일이 배치 된 위치에 JAR 패키지와 config 디렉토리를 넣은 다음 다음 명령을 실행하십시오.
java -jar app-XXXXX.jar
이 서비스는 처음에 토큰을 얻는 기능 만 제공하며 나중에 그룹 공지 사항/Shiro와 같은 기능을 점차 추가했으며 데이터베이스에 도입해야합니다. 사용자 경험의 편의성을 향상시키기 위해 데이터베이스 H2가 소개되어 사용자는 소프트웨어를 설치하지 않고 직접 실행할 수 있습니다 (JRE는 여전히 필요합니다). 또한 Shiro 세션은 H2 데이터베이스에도 저장됩니다. 편의성을 향상 시키지만 한편으로는 성능 병목 현상으로 이어지고 다른 한편으로는 수평으로 확장되고 고도로 이용할 수 없습니다. 따라서이 프로젝트를 사용하고 두 번 수정해야합니다.
application.properties 파일의 설명을 참조하십시오.버전 0.40은 Shiro 기능을 소개합니다. 이 서비스를 업그레이드하기 전에이 프로젝트의 버전 0.40을 릴리스 할 때 또는 후 클라이언트가 모바일 클라이언트를 소개했는지 확인해야합니다. 업그레이드 후 클라이언트는 세션을 저장하기 위해 로그 아웃 및 로그인해야합니다 (로그 아웃 할 때 연결 해제가 호출되며 허위 값이 필요하므로 다시 로그인하여 역사적 채팅 기록을 유지할 수 있습니다. 새 버전에서 변경해야합니다). 이전 버전이거나 다시 로그인되지 않은 경우 그룹 발표 및 스캔 코드 로그인 기능을 사용할 수 없습니다. 시스템 보안의 경우 업그레이드가 권장됩니다.
버전 0.43은 웹 및 PC 로그인의 짧은 폴링을 긴 폴링으로 변경합니다. 애플리케이션 서비스 업그레이드에 웹 및 PC에 대한 해당 수정이 필요한 경우
0.45.1 wfc.all_client_support_ssl 스위치가 구성 파일에 추가됩니다. 이 버전으로 업그레이드 할 때는이 스위치를 구성 파일에 추가해야합니다.
버전 0.51은 토큰 인증을 추가했습니다. 토큰 및 쿠키 인증은 동시에 지원할 수 있습니다. 클라이언트는 또한 해당 수정을했으며 토큰 사용에 우선 순위를 부여합니다. 호환성에주의하십시오.
버전 0.53에서 시작하여 데이터는 데이터베이스에 저장됩니다. 따라서 애플리케이션 서비스는 무국적 서비스이며 고 가용성 및 수평 확장을 위해 여러 응용 프로그램 서비스를 배포 할 수 있습니다. 데이터가 데이터베이스에 저장되어 있음에 유의해야합니다. 사용자 수가 크거나 비즈니스 볼륨이 비교적 큰 경우 응용 프로그램 서비스를 직접 열고 Redis 캐시를 추가 할 수 있습니다.
서비스에 동일한 IP에 대한 요청이 제한되어 있습니다. 기본적으로 IP는 시간당 200 회 요청 할 수 있습니다. 실제 상황에 따라 조정할 수 있습니다 (Ratelimiter 문자열을 검색하여 찾을 수 있음). NGINX를 리버스 프록시로 사용하는 경우 실제 IP를 얻지 못하고 정상적인 사용에 영향을 미치지 않도록 사용자의 실제 IP (XEAL-IP 또는 X-FORWARDED-FOR 사용)를 전달하는 데주의를 기울여야합니다.
MIT 라이센스에 따라. 자세한 내용은 라이센스 파일을 참조하십시오
Alibaba Cloud SMS를 사용하려면 지침을 참조하십시오.