️ 특별 알림: Github의 다운로드 속도가 느린 경우 https://gitee.com/jackjiang/MobileIMSDK로 이동하세요. 코드가 완전히 동기화되었으므로 자유롭게 다운로드하시기 바랍니다. ️
❤️최신 뉴스: Hongmeng MobileIMSDK의 다음 버전이 출시되었습니다❤️
1. 바로가기 디렉토리
1.1. 이론적인 정보
- 네트워크 프로그래밍 이론 고전 "TCP/IP 상세 설명"(온라인 읽기 버전)
1.2. 관련 정보
- MobileIMSDK 버전 업데이트 로그
- MobileIMSDK FAQ?
- MobileIMSDK 성능 테스트 보고서
1.3.제품 케이스
- RainbowChat 평가판?
- RainbowChat 평가판 스크린샷 미리보기
- 특정 채팅의 민감하지 않은 일부 운영 데이터
1.4. 데모 설치
- 클라이언트 데모 설치 및 사용 도움말(Android)
- 클라이언트 데모 설치 및 사용 도움말(iOS)
- 클라이언트 데모 설치 및 사용 도움말(Java)
- 클라이언트 데모 시연 및 설명(H5)
- 클라이언트 데모 시연 및 설명(WeChat 애플릿)
- 클라이언트 데모 데모 및 지침(Uniapp)
- 클라이언트 데모 시연 및 설명(홍멍다음)?
- 서버측 데모 배포 및 사용 도움말
1.5. 개발 가이드
- 클라이언트 개발 가이드(Android)
- 클라이언트 개발 가이드(iOS)
- 클라이언트 개발 가이드(Java)
- 클라이언트 개발 가이드(H5)
- 클라이언트 개발 가이드(WeChat Mini 프로그램)
- 클라이언트 개발 가이드(Uniapp)
- 클라이언트 개발 가이드(홍멍넥스트)
- 서버 개발 가이드
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 (아마도 전체 네트워크에서 유일한 오픈 소스 프로토콜)의 세 가지 프로토콜을 우아하게 지원합니다.
- 클라이언트는 iOS, Android, 표준 Java, H5(아직 오픈 소스 아님), 미니 프로그램(아직 오픈 소스 아님), Uniapp(아직 오픈 소스 아님), Hongmeng Next(SDK 아직 오픈 소스 아님, 데모 전체 소스 코드)를 지원합니다.
- 서버는 뛰어난 성능과 쉬운 확장성을 갖춘 Netty를 기반으로 합니다.
- 자매 프로젝트인 MobileIMSDK-Web과 원활하게 상호 운용되어 웹 채팅이나 푸시 등을 실현할 수 있습니다. :point_left:
- 장치 간 및 네트워크 간 채팅 앱, 엔터프라이즈 OA, 메시지 푸시 등 다양한 시나리오에 적용할 수 있습니다.
MobileIMSDK 프로젝트는 2013년 10월부터 지속적으로 업그레이드되었습니다(최신 버전은 v6.5입니다. 버전 업데이트 로그를 보려면 여기를 클릭하십시오). 10년 후 처음에는 자가용 제품에 대한 인스턴트 메시징의 하위 계층으로 사용되었습니다. 처음부터 완전히 개발되었습니다.
현재 최신 Hongmeng Next 버전이 개발되었습니다. 도움이 필요한 사람들에게 영감을 주고 도움이 되기를 바랍니다.
필요할 수 있습니다: MobileIMSDK에 대한 더 많은 질문과 답변을 확인하세요.
또 다른 자매 프로젝트: 경량 웹 측 인스턴트 메시징 프레임워크: MobileIMSDK-Web도 지속적으로 업데이트되고 있으며 휴대폰이나 PC의 웹 채팅 및 메시지 푸시 전용입니다.
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: Java 1.6 이상을 지원하는 크로스 플랫폼 PC 인스턴트 메시징 클라이언트를 개발하는 데 사용되며 API 문서를 봅니다.
- H5 클라이언트 SDK: 아직 오픈 소스 버전이 없습니다. 개선된 주석이 달린 버전을 확인하세요.
- WeChat Mini 프로그램 SDK: 아직 오픈 소스 버전이 없습니다. 편집 및 주석이 달린 버전을 확인하세요.
- Uniapp SDK: 아직 오픈 소스 버전이 없습니다. 편집 및 주석이 달린 버전을 확인하세요.
- Hongmeng Next SDK: 현재 SDK의 오픈 소스 버전은 없으며(정교한 주석 버전 참조) 데모의 전체 프로젝트 소스 코드도 없습니다.
- 서버 SDK: 인스턴트 메시징 서버를 개발하는 데 사용되며 Java 1.7 이상을 지원합니다. API 설명서를 참조하세요.
전체 MobileIMSDK 프레임워크의 아키텍처는 다음으로 구성됩니다.
MobileIMSDK는 지속적으로 개발 및 업그레이드되어 왔으며 Hongmeng Next 클라이언트는 MobileIMSDK 프로젝트의 최신 성과입니다.
또한 MobileIMSDK는 자매 프로젝트인 MobileIMSDK-Web과 원활하게 상호 운용될 수 있으므로 웹 페이지에서 채팅이나 푸시가 가능합니다.
6. 기술적 특성
- 오랜 테스트를 거침: 10년 후, Andriod 2.3 및 iOS 5.0 시대부터 현재까지 지속적으로 업그레이드되었습니다(결코 미완성이 아닙니다).
- 초경량: 고도로 정제된 50KB 이내의 lib 패키지;
- 다중 프로토콜: 하나의 API 세트로 UDP, TCP 및 WebSocket 프로토콜을 동시에 지원할 수 있는 전체 네트워크에서 유일한 오픈 소스 프레임워크일 수 있습니다.
- 다중 네트워크: 신중하게 최적화된 TCP, UDP 및 WebSocket 프로토콜 구현은 위성 네트워크, 모바일 네트워크, 임베디드 IoT 및 기타 시나리오에 적용될 수 있습니다.
- 다중 터미널 적용 범위: 클라이언트는 iOS, Android, 표준 Java, H5, WeChat 애플릿, Uniap 및 Hongmeng Next를 지원합니다.
- 효율적인 비용 효율성: 연결 특성이 없는 고유한 UDP 프로토콜 구현은 동일한 조건에서 더 높은 네트워크 로드 및 처리량 기능을 달성할 수 있습니다.
- 메시지 방향: 인스턴트 메시징 기술에서 가능한 모든 메시지 방향을 지원합니다. 총 3가지 유형(예: C2C, C2S, S2C)입니다.
- 고정 및 반 패킷: 각 끝에서 TCP의 전형적인 고정 및 반 패킷 문제를 우아하게 해결합니다. 맨 아래 레이어는 캡슐화되어 있으며 애플리케이션 레이어는 전혀 눈에 띄지 않습니다.
- QoS 메커니즘: 메시지가 누락되지 않도록 완전한 메시지 전달 보장 메커니즘(자동 재전송, 메시지 중복 제거, 상태 피드백 등)을 보장합니다.
- 견고함 및 신뢰성: 실습에 따르면 대기 시간이 길고 대륙 간 및 다양한 네트워크 표준 환경에서 안정적이고 신뢰할 수 있는 작동에 매우 적합합니다.
- 네트워크 연결 끊김 복구: 네트워크 상태를 자동으로 감지하고 네트워크 연결 끊김을 자동으로 복구하는 기능이 있습니다.
- 독창적인 알고리즘: 핵심 알고리즘과 구현은 모두 독창적이므로 지속적인 개선과 개선의 여지가 보장됩니다.
- 다중 모드: 다양한 시나리오에 따라 즉시성, 트래픽 및 클라이언트 전력 소비를 제어하기 위해 다중 실시간 감도 모드를 미리 설정합니다.
- 데이터 압축: 자체 프로토콜로 구현된 데이터 압축은 향후 클라이언트 트래픽과 서버 네트워크 처리량을 유연하게 제어하도록 사용자 정의할 수 있습니다.
- 고도로 캡슐화됨: 고도로 캡슐화된 API 인터페이스는 호출의 단순성을 보장하고 더 많은 애플리케이션 시나리오에 적용할 수 있도록 합니다.
- 웹 지원: 자매 프로젝트인 MobileIMSDK-Web과 원활하게 상호 운용되어 웹 페이지 채팅이나 푸시 등을 실현할 수 있습니다.
- 우수한 확장성: 서버는 Netty를 기반으로 하며 Netty의 뛰어난 높은 확장성을 상속합니다.
- 우수한 성능: 서버는 Netty의 고성능 및 높은 처리량 기능을 상속하며 고성능 서버 시나리오에 적합합니다.
MobileIMSDK에서 지원하는 세 가지 유형의 인스턴트 메시징 메시지 추세는 모두 다음과 같습니다.
(1) C2C(클라이언트 대 클라이언트): 클라이언트에 의해 시작되고 수신자는 다른 클라이언트입니다.
(2) C2S(클라이언트 대 서버): 클라이언트에 의해 시작되고 수신자는 서버입니다.
(3) 서버 대 클라이언트(S2C): 서버에 의해 시작되고 수신자는 클라이언트입니다.
필요할 수 있습니다: MobileIMSDK에 대한 더 많은 질문과 답변을 확인하세요.
7. 성능 테스트
스트레스 테스트에 따르면 MobileIMSDK를 푸시 시나리오에 사용할 경우 이론적 단일 시스템 로드는 수천만에 근접할 수 있습니다. 채팅 애플리케이션에서 사용하면 단일 시스템의 로드가 수십만 개에 달할 수 있습니다.
물론 각 애플리케이션에는 고유한 특성과 차이점이 있습니다. 테스트 데이터는 참고용일 뿐입니다.
성능 테스트 보고서: 보려면 여기를 클릭하세요.
8. 시연 프로그램
- Android 클라이언트 데모: 설치 및 사용하려면 여기를 클릭하세요.
- iOS 클라이언트 데모: 설치 및 사용하려면 여기를 클릭하세요.
- Java 클라이언트 데모: 설치 및 사용하려면 여기를 클릭하세요.
- H5 클라이언트 데모: 소개를 보려면 여기를 클릭하세요.
- WeChat 미니 프로그램 데모: 소개를 보려면 여기를 클릭하세요.
- Uniapp 데모: 소개를 보려면 여기를 클릭하세요.
- Hongmeng 다음 데모: 소개를 보려면 여기를 클릭하십시오.;
- 서버 데모: 설치 및 사용하려면 여기를 클릭하세요.
9. 적용사례
① MobileIMSDK 기반 제품별 채팅 APP:
자세한 소개, 경험 다운로드 또는 실행 중인 스크린샷 보기.
② 네트워크 지연이 심한 MobileIMSDK 사례:
MobileIMSDK를 기반으로 한 특정 상용 제품은 복잡한 대륙간 네트워크 환경에서 운영되었으나 대륙간 네트워크 사용량이 많을 경우 종단 간 통신 지연이 최대 600ms 이상 발생할 수 있습니다(서버와의 단방향 지연은 약 300ms입니다). , 일반적으로 국내를 방문하는 경우 주류 포털의 지연 시간은 약 20~50ms입니다. 일정 기간 동안 민감하지 않은 운영 데이터를 보려면 여기를 클릭하세요.
10. 패키지 다운로드(올인원)
? ① 최신 출시 버전(해외 주소) : Github 패키지 다운로드
? ② 최신 출시 버전(국내 주소) : 코드클라우드 지티 패키지 다운로드(빠른 접속! ?)
참고: 최신 릴리스 패키지에는 전체 데모 소스 코드, SDK 소스 코드, API 문서, 컴파일된 배포 패키지 등이 포함되어 있습니다.
11. 일반적인 애플리케이션 시나리오
시나리오 1: 채팅 앱
- 애플리케이션 설명: WeChat, QQ 등과 유사한 채팅 도구를 개발하는 데 사용할 수 있습니다.
- 메시지 방향: C2C, C2S, S2C의 모든 유형을 사용해야 합니다.
- 특별 참고 사항: MobileIMSDK는 채팅 애플리케이션의 애플리케이션 계층 로직과 프로토콜을 정의하지 않습니다. 개발자는 이를 스스로 정의하고 구현할 수 있습니다.
시나리오 2: 메시지 푸시
- 애플리케이션 설명: 실시간으로 클라이언트에게 정보를 푸시해야 하는 다양한 유형의 앱에 사용할 수 있습니다.
- 메시지 방향: S2C의 하나의 메시지 방향만 사용되며 이는 MobileIMSDK의 가장 간단한 응용 시나리오입니다.
시나리오 3: 엔터프라이즈 OA
- 애플리케이션 설명: 기업 OA에 대한 지침, 공식 문서, 애플리케이션 등 다양한 메시지를 실시간으로 푸시하는 데 사용할 수 있어 사용자 경험을 크게 향상시킬 수 있으며 모바일 장치로 확장할 수 있습니다.
- 메시지 방향: S2C의 하나의 메시지 방향만 사용되며 이는 MobileIMSDK의 가장 간단한 응용 시나리오입니다.
시나리오 4: 엔터프라이즈 OA의 향상된 버전
- 애플리케이션 설명: 기업 OA에서 다양한 시스템 수준 및 사용자 수준 메시지의 실시간 상호 작용을 실현하는 데 사용할 수 있으며 인스턴트 메시징 기술을 최대한 활용하여 기존 OA의 가치를 향상시킬 수 있습니다.
- 메시지 동향: 모든 유형의 C2C, C2S, S2C를 사용할 수 있습니다. 이는 여러 측면에서 채팅 앱과 다르지 않습니다. 그러나 엔터프라이즈 OA에는 전체 기능을 갖춘 채팅보다 훨씬 간단한 자체 사용자 관계 관리 모델과 논리가 있습니다. 앱.
12. 개발 가이드
- Android 클라이언트 개발 가이드: 보려면 여기를 클릭하세요.
- iOS 클라이언트 개발 가이드: 보려면 여기를 클릭하세요.
- Java 클라이언트 개발 가이드: 보려면 여기를 클릭하세요.
- H5 클라이언트 개발 가이드: 보려면 여기를 클릭하세요.
- WeChat Mini 프로그램 개발 가이드: 보려면 여기를 클릭하세요.
- Uniapp 개발 가이드: 보려면 여기를 클릭하세요.
- Hongmeng 다음 개발 가이드: 보려면 여기를 클릭하세요.
- 서버 측 개발 가이드: 보려면 여기를 클릭하세요.
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 엔지니어링
- 블로그 주소: 클릭해서 들어가세요
- Github 홈페이지: 클릭하여 들어가세요.
- 내 공식 계정: :point_down: :point_down:
부록: 데모 실행 스크린샷
1. Hongmeng에서 MobileIMSDK 데모 실행 효과 다음:
编译和运行:
Hongmeng Next Demo의 전체 소스 코드를 확인하세요.
2. Android 및 iOS에서 MobileIMSDK 데모 실행 효과:
安装和使用:
안드로이드 버전 데모 도움말 페이지에 들어가고, iOS 버전 데모 도움말 페이지에 들어가세요.
3. H5 측의 MobileIMSDK 데모 실행 효과:
4. WeChat 애플릿에서 실행되는 MobileIMSDK 데모의 효과:
5. Uniapp에서 실행되는 MobileIMSDK 데모의 효과:
6. Windows에서 MobileIMSDK 데모 실행 효과:
安装和使用:
Java 버전 데모 도움말 페이지로 들어갑니다.
7. Mac OS X에서 MobileIMSDK 데모 실행 효과:
安装和使用:
Java 버전 데모 도움말 페이지로 들어갑니다.
8. MobileIMSDK-웹 버전 클라이언트 데모 실행 효과:
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 기반의 웹 기반 IM 시스템
RainbowChat-Web 제품 메인 인터페이스:
更多截图和视频:
더 많은 스크린샷을 보려면 여기를 클릭하고, 더 많은 데모 비디오를 보려면 여기를 클릭하십시오.
RainbowChat-Web 제품 기본 인터페이스(채팅 창이 전체 화면인 경우):
更多截图和视频:
더 많은 스크린샷을 보려면 여기를 클릭하고, 더 많은 데모 비디오를 보려면 여기를 클릭하십시오.
RainbowChat-Web 제품 메인 인터페이스(독립적인 UI 효과):
更多截图和视频:
더 많은 스크린샷을 보려면 여기를 클릭하고, 더 많은 데모 비디오를 보려면 여기를 클릭하십시오.