️ Pengingat khusus: Jika pengunduhan Github lambat, silakan kunjungi: https://gitee.com/jackjiang/MobileIMSDK. ️
❤️Berita terbaru : Hongmeng MobileIMSDK versi selanjutnya telah dirilis❤️
1. Direktori pintasan
1.1.Informasi teoritis
- Teori pemrograman jaringan klasik "Penjelasan Terperinci TCP/IP" (versi membaca online)
1.2.Informasi yang relevan
- Log pembaruan versi MobileIMSDK
- Pertanyaan Umum IMSDK Seluler?
- Laporan pengujian kinerja MobileIMSDK
1.3. Kotak produk
- Versi uji coba RainbowChat?
- Pratinjau tangkapan layar versi uji coba RainbowChat
- Beberapa data operasional non-sensitif dari Obrolan tertentu
1.4.Instalasi demo
- Bantuan instalasi dan penggunaan Demo Klien (Android)
- Bantuan instalasi dan penggunaan Demo Klien (iOS)
- Bantuan instalasi dan penggunaan Demo Klien (Java)
- Demonstrasi dan deskripsi Demo Klien (H5)
- Demonstrasi dan penjelasan Demo Klien (applet WeChat)
- Demonstrasi dan instruksi Demo Klien (Uniapp)
- Demonstrasi dan penjelasan Demo Klien (Hongmeng Berikutnya)?
- Bantuan penerapan dan penggunaan Demo sisi server
1.5.Panduan Pengembangan
- Panduan Pengembangan Klien (Android)
- Panduan Pengembangan Klien (iOS)
- Panduan Pengembangan Klien (Java)
- Panduan Pengembangan Klien (H5)
- Panduan Pengembangan Klien (Program Mini WeChat)
- Panduan Pengembangan Klien (Uniapp)
- Panduan Pengembangan Klien (Hongmeng Berikutnya)
- Panduan Pengembangan Server
1.6.Dokumentasi API
- Dokumentasi API SDK Klien (Android): versi TCP, versi UDP
- Dokumentasi API SDK Klien (iOS): versi TCP, versi UDP
- Dokumentasi API SDK Klien (Java): versi TCP, versi UDP
- Dokumentasi API SDK Klien (H5): Klik di sini untuk masuk
- Dokumentasi API SDK Klien (aplet WeChat): Klik di sini untuk masuk
- Dokumentasi API SDK Klien (Uniapp): Klik di sini untuk masuk
- Dokumentasi API SDK Klien (Hongmeng Berikutnya): manual lengkap, dokumentasi API
- Dokumentasi API SDK Server
1.7.Pengunduhan paket
- Unduh paket versi terbaru MobileIMSDK?
- Alamat asing: Alamat Github MobileIMSDK
- Alamat domestik: Alamat gitee cloud kode MobileIMSDK (akses cepat!)
1.8. Pembelajaran dan komunikasi
- Komunitas pertukaran teknis: klik di sini untuk masuk
- Diskusi FAQ: Klik di sini untuk masuk?
- Pertukaran teknis Grup Q:
215477170
? - Untuk dukungan teknis/kerja sama/konsultasi, silakan menghubungi penulis QQ:
413980957
(Tentang penulis?) - Ikuti akun resmi saya: :point_down: :point_down:
2. Pengenalan Proyek
MobileIMSDK adalah kerangka lapisan komunikasi IM asli yang dikembangkan khusus untuk terminal seluler:
- Telah diuji selama 10 tahun;
- Sangat ringan dan sangat halus, paket lib berukuran 50KB;
- Dienkapsulasi dengan hati-hati, serangkaian API secara elegan mendukung tiga protokol: UDP , TCP , dan WebSocket (mungkin satu-satunya open source di seluruh jaringan);
- Klien mendukung iOS, Android, Java standar, H5 (belum open source), program mini (belum open source), Uniapp (belum open source), Hongmeng Next (SDK belum open source, Demo kode sumber lengkap);
- Server didasarkan pada Netty, dengan kinerja luar biasa dan perluasan yang mudah :point_left:
- Ia dapat berinteroperasi dengan lancar dengan proyek saudaranya MobileIMSDK-Web untuk mewujudkan obrolan web atau push, dll.;
- Ini dapat diterapkan ke berbagai skenario seperti aplikasi obrolan lintas perangkat dan lintas jaringan, OA perusahaan, dan pengiriman pesan.
Proyek MobileIMSDK terus ditingkatkan sejak Oktober 2013 (versi terbaru adalah v6.5, klik di sini untuk melihat log pembaruan versi). Setelah 10 tahun, proyek ini awalnya digunakan sebagai lapisan terbawah pesan instan untuk produk penggunaan mandiri dan dikembangkan sepenuhnya dari awal.
Saat ini telah dikembangkan Hongmeng Next versi terbaru, semoga dapat menginspirasi dan membantu mereka yang membutuhkan.
Anda mungkin memerlukan: Melihat lebih banyak pertanyaan dan jawaban tentang MobileIMSDK.
Proyek sejenis lainnya: kerangka pesan instan sisi Web yang ringan: MobileIMSDK-Web juga terus diperbarui dan didedikasikan untuk obrolan web dan pesan push di ponsel atau PC.
3. Pembaruan kode hosting secara sinkron
kode cloud gitee
- Hosting kode: https://gitee.com/jackjiang/MobileIMSDK
- Komunitas Teknologi: Klik untuk melihat informasi lebih lanjut
GitHub.com
- Hosting kode: https://github.com/JackJiang2011/MobileIMSDK
- Komunitas Teknologi: Klik untuk melihat informasi lebih lanjut
Log pembaruan versi MobileIMSDK: Klik di sini untuk melihat?
4. Tujuan Desain
Biarkan pengembang fokus pada pengembangan logika aplikasi,复杂的即时通讯算法交由SDK开发人员
, sehingga解偶即时通讯应用开发的复杂性
.
5. Komposisi kerangka
Keseluruhan kerangka MobileIMSDK terdiri dari 7 bagian berikut:
- SDK klien Android: digunakan untuk klien perpesanan instan versi Android, mendukung Android 4.0 dan lebih tinggi, melihat dokumentasi API;
- SDK klien iOS: digunakan untuk mengembangkan klien perpesanan instan iOS, mendukung iOS 12.0 dan yang lebih baru, melihat dokumentasi API;
- SDK klien Java: digunakan untuk mengembangkan klien pesan instan PC lintas platform, mendukung Java 1.6 dan yang lebih baru, melihat dokumentasi API;
- SDK klien H5: Belum ada versi sumber terbuka, silakan periksa versi penjelasan yang disempurnakan;
- SDK Program Mini WeChat: Belum ada versi sumber terbuka, silakan periksa versi yang telah diedit dan diberi anotasi;
- Uniapp SDK: Belum ada versi open source, silakan periksa versi yang telah diedit dan diberi anotasi;
- Hongmeng Next SDK: Saat ini tidak ada versi open source dari SDK (lihat versi penjelasan yang disempurnakan), dan kode sumber proyek Demo yang lengkap;
- Server SDK: digunakan untuk mengembangkan server pesan instan, mendukung Java 1.7 ke atas, silakan lihat dokumentasi API.
Arsitektur keseluruhan framework MobileIMSDK terdiri dari:
MobileIMSDK terus dikembangkan dan ditingkatkan, dan klien Hongmeng Next adalah pencapaian terbaru dari proyek MobileIMSDK.
Selain itu: MobileIMSDK dapat berinteroperasi dengan mulus dengan proyek saudaranya MobileIMSDK-Web, sehingga memungkinkan obrolan atau push di halaman Web.
6. Karakteristik teknis
- Telah teruji oleh waktu: Setelah 10 tahun, ini terus ditingkatkan dari era Android 2.3 dan iOS 5.0 hingga saat ini (bukan berarti tidak selesai);
- Super ringan: paket lib yang sangat halus dalam ukuran 50KB;
- Banyak protokol: Ini mungkin satu-satunya kerangka sumber terbuka dari jenisnya di seluruh jaringan yang dapat mendukung protokol UDP, TCP, dan WebSocket secara bersamaan dengan satu set API?;
- Banyak jaringan: Implementasi protokol TCP, UDP, dan WebSocket yang dioptimalkan dengan cermat dapat diterapkan pada jaringan satelit, jaringan seluler, IoT tertanam, dan skenario lainnya;
- Cakupan multi-terminal: Klien mendukung iOS, Android, Java standar, H5, applet WeChat, Uniap, dan Hongmeng Next;
- Efektivitas biaya yang efisien: Implementasi protokol UDP yang unik, tanpa karakteristik koneksi, dapat mencapai beban jaringan dan kemampuan throughput yang lebih tinggi dalam kondisi yang sama;
- Arah pesan: mendukung semua kemungkinan arah pesan dalam teknologi pesan instan, total 3 jenis (yaitu C2C, C2S, S2C);
- Sticky and half-packet: dengan elegan memecahkan masalah klasik TCP yang lengket dan setengah paket di setiap ujungnya. Lapisan bawah dienkapsulasi dan lapisan aplikasi benar-benar tidak terlihat;
- Mekanisme QoS: Mekanisme jaminan pengiriman pesan yang lengkap (transmisi ulang otomatis, deduplikasi pesan, umpan balik status, dll.) untuk memastikan tidak ada pesan yang terlewat;
- Kuat dan andal: Praktik telah menunjukkan bahwa ini sangat cocok untuk pengoperasian yang stabil dan andal di lingkungan standar jaringan berlatensi tinggi, lintas benua, dan berbeda;
- Pemulihan pemutusan jaringan: Ia memiliki kemampuan untuk secara otomatis mendeteksi kondisi jaringan dan secara otomatis menyembuhkan pemutusan jaringan;
- Algoritme asli: Algoritme inti dan implementasinya semuanya asli, memastikan ruang untuk perbaikan dan peningkatan berkelanjutan;
- Berbagai mode: Preset beberapa mode sensitivitas waktu nyata untuk mengontrol kedekatan, lalu lintas, dan konsumsi daya klien sesuai dengan skenario yang berbeda;
- Kompresi data: Diimplementasikan dengan protokolnya sendiri, kompresi data dapat disesuaikan di masa depan untuk secara fleksibel mengontrol lalu lintas klien dan throughput jaringan server;
- Sangat terenkapsulasi: Antarmuka API yang sangat terenkapsulasi memastikan kesederhanaan panggilan dan juga membuatnya dapat diterapkan pada lebih banyak skenario aplikasi;
- Dukungan web: Ini dapat berinteroperasi dengan mulus dengan proyek saudaranya MobileIMSDK-Web untuk mewujudkan obrolan atau push halaman web, dll.;
- Skalabilitas yang baik: Server didasarkan pada Netty dan mewarisi skalabilitas tinggi Netty yang luar biasa;
- Kinerja luar biasa: Server mewarisi fitur kinerja tinggi dan throughput tinggi dari Netty, dan cocok untuk skenario server berkinerja tinggi.
Ketiga jenis tren pesan pesan instan yang didukung oleh MobileIMSDK adalah:
(1) Klien ke Klien (C2C): Ini dimulai oleh klien dan penerimanya adalah klien lain;
(2) Klien ke Server (C2S): Ini dimulai oleh klien dan penerima adalah server;
(3) Server ke Klien (S2C): Ini dimulai oleh server dan penerima adalah klien.
Anda mungkin memerlukan: Melihat lebih banyak pertanyaan dan jawaban tentang MobileIMSDK.
7. Tes kinerja
Pengujian stres menunjukkan bahwa ketika MobileIMSDK digunakan dalam skenario push, beban teoritis mesin tunggal dapat mendekati puluhan juta. Saat digunakan dalam aplikasi chatting, beban dalam satu mesin bisa mencapai ratusan ribu.
Tentu saja, setiap aplikasi memiliki karakteristik dan perbedaannya masing-masing. Harap evaluasi berdasarkan skenario tertentu. Data pengujian hanya untuk referensi.
Laporan pengujian kinerja: Klik di sini untuk melihat.
8. Program demonstrasi
- Demo klien Android: Klik di sini untuk menginstal dan menggunakan;
- Demo klien iOS: Klik di sini untuk menginstal dan menggunakan;
- Demo klien Java: Klik di sini untuk menginstal dan menggunakan;
- Demo klien H5: Klik di sini untuk melihat pendahuluan;
- Demo Program Mini WeChat: Klik di sini untuk melihat pendahuluan;
- Demo Uniapp: Klik di sini untuk melihat pendahuluan;
- Demo Hongmeng Berikutnya: Klik di sini untuk melihat pendahuluan?;
- Demo Server: Klik di sini untuk menginstal dan menggunakan.
9. Kasus aplikasi
① APLIKASI obrolan tingkat produk berdasarkan MobileIMSDK:
Pengenalan mendetail, pengalaman mengunduh, atau melihat tangkapan layar yang sedang berjalan.
② Kasus MobileIMSDK dalam penundaan jaringan yang tinggi:
Produk komersial tertentu berdasarkan MobileIMSDK pernah dioperasikan di lingkungan jaringan antarbenua yang kompleks. Penundaan komunikasi ujung ke ujung bisa mencapai lebih dari 600 md saat jaringan antarbenua sibuk (penundaan satu arah dengan server sekitar 300 md). , dan biasanya ketika orang mengunjungi portal arus utama dalam negeri Latensinya sekitar 20~50ms). Klik di sini untuk melihat data operasional yang tidak sensitif untuk jangka waktu tertentu.
10. Pengunduhan paket (semua dalam satu)
? ① Versi rilis terbaru (alamat luar negeri): Unduhan paket Github
? ② Versi rilis terbaru (alamat domestik): unduhan paket code cloud gitee (akses cepat! ?)
Catatan: Paket rilis terbaru berisi kode sumber demo lengkap, kode sumber SDK, dokumentasi api, paket distribusi terkompilasi, dll.
11. Skenario aplikasi yang umum
Skenario 1: APLIKASI Obrolan
- Deskripsi Aplikasi: Dapat digunakan untuk mengembangkan alat obrolan yang mirip dengan WeChat, QQ, dll.
- Arah pesan: Semua jenis C2C, C2S, dan S2C perlu digunakan.
- Catatan khusus: MobileIMSDK tidak menentukan logika lapisan aplikasi dan protokol aplikasi obrolan. Pengembang dapat menentukan dan mengimplementasikannya sendiri.
Skenario 2: Pesan push
- Deskripsi aplikasi: Dapat digunakan untuk berbagai jenis Aplikasi yang perlu mengirimkan informasi ke klien secara real time.
- Arah pesan: Hanya satu arah pesan S2C yang digunakan, yang merupakan skenario aplikasi MobileIMSDK paling sederhana.
Skenario 3: OA Perusahaan
- Deskripsi aplikasi: Dapat digunakan untuk mengirim berbagai pesan seperti instruksi, dokumen resmi, dan aplikasi untuk OA perusahaan secara real time, sangat meningkatkan pengalaman pengguna, dan dapat diperluas ke perangkat seluler.
- Arah pesan: Hanya satu arah pesan S2C yang digunakan, yang merupakan skenario aplikasi MobileIMSDK paling sederhana.
Skenario 4: Versi OA perusahaan yang disempurnakan
- Deskripsi aplikasi: Dapat digunakan untuk mewujudkan interaksi real-time dari berbagai pesan tingkat sistem dan tingkat pengguna di OA perusahaan, memanfaatkan sepenuhnya teknologi pesan instan untuk meningkatkan nilai OA tradisional.
- Tren pesan: Semua jenis C2C, C2S, dan S2C dapat digunakan. Ini tidak berbeda dengan Aplikasi obrolan dalam banyak aspek. Namun, OA perusahaan memiliki model dan logika manajemen hubungan penggunanya sendiri, yang jauh lebih sederhana daripada obrolan berfitur lengkap Aplikasi.
12. Panduan Pengembangan
- Panduan Pengembangan Klien Android: Klik di sini untuk melihat;
- Panduan pengembangan klien iOS: Klik di sini untuk melihat;
- Panduan Pengembangan Klien Java: Klik di sini untuk melihat;
- Panduan pengembangan klien H5: Klik di sini untuk melihat;
- Panduan Pengembangan Program Mini WeChat: Klik di sini untuk melihat;
- Panduan pengembangan Uniapp: Klik di sini untuk melihat;
- Panduan pengembangan Hongmeng Selanjutnya: Klik di sini untuk melihat;
- Panduan pengembangan sisi server: Klik di sini untuk melihatnya.
13. Metode otorisasi
Anda dapat menggunakan MobileIMSDK secara permanen secara gratis dan bebas, seperti untuk penelitian, pembelajaran, bahkan tujuan komersial, namun dilarang menggunakannya untuk tujuan komersial di luar konten yang dibatasi oleh Lisensi. Untuk petunjuk otorisasi lebih rinci, silakan lihat bagian "12. Metode Otorisasi" di postingan pengenalan komunitas MobileIMSDK.
Catatan tambahan: Jika Anda memerlukan dukungan teknis atau kerjasama teknis lebih lanjut, silakan hubungi penulis, QQ: 413980957
(:point_right: Tentang penulis).
14. Informasi kontak
- Area diskusi, pembelajaran dan informasi: :earth_americas: Klik di sini untuk masuk;
- Grup pertukaran teknologi pesan instan:
185926912
(Untuk grup QQ lainnya, klik di sini untuk masuk); - Silakan kirimkan bug dan saran ke: :love_letter:
[email protected]
; - Untuk pelatihan teknis/transfer/kerjasama/konsultasi, silakan hubungi penulis QQ: :penguin:
413980957
, WeChat: hellojackjiang
(:point_right: Tentang penulis).
15. Donasi kepada penulis
Open source yang luar biasa membutuhkan dukungan Anda untuk melangkah lebih jauh. Saya dengan tulus berterima kasih atas dukungan dan pengertian Anda, dan saya harap Anda dapat memperoleh manfaat dari open source.
- Tautan donasi: Klik di sini untuk masuk.
16. Ikuti penulisnya
- Tentang penulis: Klik untuk masuk?
- Perhatian yang disarankan: BeautyEye Engineering
- Alamat blog: klik untuk masuk
- Beranda Github: klik untuk masuk
- Akun resmi saya: :point_down: :point_down:
Lampiran: Demo menjalankan tangkapan layar
1. Efek berjalan Demo MobileIMSDK di Hongmeng Berikutnya:
编译和运行:
Lihat kode sumber lengkap Demo Hongmeng Berikutnya.
2. Efek berjalan Demo MobileIMSDK di Android dan iOS:
安装和使用:
Masuk ke halaman bantuan Demo versi Android, masuk ke halaman bantuan Demo versi iOS.
3. Efek berjalan Demo MobileIMSDK di sisi H5:
4. Efek Demo MobileIMSDK yang berjalan di applet WeChat:
5. Efek Demo MobileIMSDK yang berjalan di Uniapp:
6. Efek menjalankan Demo MobileIMSDK di Windows:
安装和使用:
Masuk ke halaman bantuan Demo versi Java.
7. Efek menjalankan Demo MobileIMSDK di Mac OS X:
安装和使用:
Masuk ke halaman bantuan Demo versi Java.
8. Demo klien versi MobileIMSDK-Web berjalan efek:
1)MobileIMSDK-Web Demo在手机端浏览器运行效果:
Lihat detail versi MobileIMSDK-Web.
2)MobileIMSDK-Web Demo在PC端多种主流浏览器的运行效果:
Lihat detail versi MobileIMSDK-Web.
Kasus 1: Produk IM seluler berfitur lengkap berdasarkan MobileIMSDK
关于RainbowChat产品的更多资料请见:
Tangkapan layar semua fungsi produk RainbowChat (video kehidupan nyata: Android dan iOS).
[Catatan Khusus]: Karena gambar github diblokir, gambar tidak berhasil disinkronkan. Silakan periksa dari tangkapan layar semua fungsi produk RainbowChat! :titik_kiri: :titik_kiri:
更多清晰运行截图请见:
Screenshot seluruh fungsi produk RainbowCha.
Kasus 2: Sistem IM berbasis web berdasarkan MobileIMSDK-Web
Antarmuka utama produk RainbowChat-Web:
更多截图和视频:
Klik di sini untuk tangkapan layar lainnya dan klik di sini untuk video demonstrasi lainnya.
Antarmuka utama produk RainbowChat-Web (saat jendela obrolan layar penuh):
更多截图和视频:
Klik di sini untuk tangkapan layar lainnya dan klik di sini untuk video demonstrasi lainnya.
Antarmuka utama produk RainbowChat-Web (efek UI independen):
更多截图和视频:
Klik di sini untuk tangkapan layar lainnya dan klik di sini untuk video demonstrasi lainnya.