️ Особое напоминание: если Github загружается медленно, перейдите по адресу: https://gitee.com/jackjiang/MobileIMSDK. Код полностью синхронизирован, поэтому смело загружайте его. ️
❤️Последние новости: Выпущена следующая версия MobileIMSDK Hongmeng❤️
1. Каталог ярлыков
1.1. Теоретическая информация.
- Классическая теория сетевого программирования «Подробное объяснение TCP/IP» (версия для онлайн-чтения)
1.2. Сопутствующая информация
- Журнал обновления версии MobileIMSDK
- Часто задаваемые вопросы по MobileIMSDK?
- Отчет о тестировании производительности MobileIMSDK
1.3. Ящики с продуктами
- Пробная версия RainbowChat?
- Предварительный просмотр скриншота пробной версии RainbowChat
- Некоторые неконфиденциальные оперативные данные определенного чата
1.4. Демо-установка.
- Помощь по установке и использованию демо-клиента (Android)
- Помощь по установке и использованию демо-клиента (iOS)
- Помощь по установке и использованию демо-клиента (Java)
- Демонстрация и описание клиентской демо-версии (H5)
- Демонстрация и объяснение клиентской демо-версии (апплет WeChat)
- Демонстрация клиента и инструкции (Uniapp)
- Демонстрация и объяснение клиентской демо-версии (Hongmeng Next)?
- Справка по развертыванию и использованию демонстрационной версии на стороне сервера
1.5. Руководство по разработке
- Руководство по разработке клиентов (Android)
- Руководство по разработке клиентов (iOS)
- Руководство по разработке клиентов (Java)
- Руководство по развитию клиентов (H5)
- Руководство по развитию клиентов (мини-программа WeChat)
- Руководство по развитию клиентов (Uniapp)
- Руководство по развитию клиентов (Hongmeng Next)
- Руководство по разработке серверов
1.6. Документация API
- Документация по API клиентского SDK (Android): версия TCP, версия UDP.
- Документация по API клиентского SDK (iOS): версия TCP, версия UDP.
- Документация по API клиентского SDK (Java): версия TCP, версия UDP.
- Документация по API клиентского SDK (H5): нажмите здесь, чтобы войти.
- Документация по API клиентского SDK (апплет WeChat): нажмите здесь, чтобы войти.
- Документация по API клиентского SDK (Uniapp): нажмите здесь, чтобы войти.
- Документация по API клиентского SDK (Hongmeng Next): полное руководство, документация по API
- Документация по API серверного SDK
1.7. Загрузка пакета
- Загрузить пакет последней версии MobileIMSDK?
- Внешний адрес: адрес MobileIMSDK на Github.
- Внутренний адрес: адрес gitee облака кода MobileIMSDK (быстрый доступ!)
1.8. Обучение и общение.
- Сообщество технического обмена: нажмите здесь, чтобы войти
- Обсуждение часто задаваемых вопросов: Нажмите здесь, чтобы войти?
- Группа технического обмена Q:
215477170
? - По вопросам технической поддержки/сотрудничества/консультации обращайтесь к автору QQ:
413980957
(Об авторе?) - Подпишитесь на мой официальный аккаунт: :point_down: :point_down:
2. Введение в проект
MobileIMSDK — это оригинальная структура уровня обмена мгновенными сообщениями, разработанная специально для мобильных терминалов:
- Он был протестирован в течение 10 лет;
- Сверхлегкий и усовершенствованный пакет lib имеет размер в пределах 50 КБ;
- Тщательно инкапсулированный набор API элегантно поддерживает три протокола: UDP , TCP и WebSocket (вероятно, единственный протокол с открытым исходным кодом во всей сети);
- Клиент поддерживает iOS, Android, стандарт Java, H5 (еще не с открытым исходным кодом), мини-программу (еще не с открытым исходным кодом), Uniapp (еще не с открытым исходным кодом), Hongmeng Next (SDK еще не с открытым исходным кодом, полный исходный код демо);
- Сервер основан на Netty, имеет отличную производительность и легко расширяется :point_left:
- Он может беспрепятственно взаимодействовать с родственным проектом MobileIMSDK-Web для реализации веб-чата, push-уведомлений и т. д. :point_left:;
- Его можно применять к различным сценариям, таким как приложения для чата между устройствами и сетями, корпоративный открытый доступ и рассылка сообщений.
Проект MobileIMSDK постоянно обновляется с октября 2013 года (последняя версия — v6.5, щелкните здесь, чтобы просмотреть журнал обновлений версий. Спустя 10 лет он первоначально использовался в качестве нижнего уровня обмена мгновенными сообщениями для продукта для самостоятельного использования). и был разработан полностью с нуля.
В настоящее время разработана последняя версия Hongmeng Next. Я надеюсь, что она сможет вдохновить и помочь нуждающимся.
Вам может понадобиться: Посмотреть дополнительные вопросы и ответы о MobileIMSDK.
Еще один родственный проект: облегченная веб-инфраструктура обмена мгновенными сообщениями: MobileIMSDK-Web также постоянно обновляется и предназначена для веб-чата и отправки сообщений на мобильные телефоны или ПК.
3. Синхронное обновление кода хостинга
облако кода
- Хостинг кода: https://gitee.com/jackjiang/MobileIMSDK
- Технологическое сообщество: нажмите, чтобы просмотреть дополнительную информацию.
GitHub.com
- Хостинг кода: https://github.com/JackJiang2011/MobileIMSDK
- Технологическое сообщество: нажмите, чтобы просмотреть дополнительную информацию.
Журнал обновлений версий MobileIMSDK: Нажмите здесь, чтобы просмотреть?
4. Цели дизайна
Позвольте разработчикам сосредоточиться на разработке логики приложения复杂的即时通讯算法交由SDK开发人员
, тем самым解偶即时通讯应用开发的复杂性
.
5. Состав каркаса
Вся платформа MobileIMSDK состоит из следующих 7 частей:
- SDK клиента Android: используется для версии клиента обмена мгновенными сообщениями Android, поддерживает Android 4.0 и выше, см. документацию по API;
- SDK клиента iOS: используется для разработки клиента обмена мгновенными сообщениями iOS, поддерживает iOS 12.0 и выше, см. документацию по API;
- Java-клиентский SDK: используется для разработки кроссплатформенных клиентов обмена мгновенными сообщениями для ПК, поддерживающих Java 1.6 и выше, см. документацию по API;
- Клиентский SDK H5: версии с открытым исходным кодом пока нет, проверьте уточненную аннотированную версию;
- WeChat Mini Program 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 до настоящего времени (ни в коем случае не является незавершенным);
- Суперлегкий: усовершенствованный пакет lib размером не более 50 КБ;
- Несколько протоколов. Возможно, это единственная в своем роде платформа с открытым исходным кодом во всей сети, которая может поддерживать три протокола: UDP, TCP и WebSocket одновременно с одним набором API?;
- Несколько сетей: тщательно оптимизированные реализации протоколов TCP, UDP и WebSocket могут применяться к спутниковым сетям, мобильным сетям, встроенному Интернету вещей и другим сценариям;
- Поддержка нескольких терминалов: клиент поддерживает iOS, Android, стандарт Java, H5, апплет WeChat, Uniap и Hongmeng Next;
- Эффективная экономическая эффективность: уникальная реализация протокола UDP, отсутствие характеристик соединения, позволяет достичь более высокой сетевой нагрузки и пропускной способности в тех же условиях;
- Направление сообщения: поддерживает все возможные направления сообщений в технологии обмена мгновенными сообщениями, всего 3 типа (т.е. C2C, C2S, S2C);
- Липкий и полупакетный: элегантно решает классические проблемы TCP с липким и половинным пакетом на каждом конце. Нижний уровень инкапсулирован, а уровень приложений совершенно незаметен;
- Механизм QoS: Полный механизм гарантии доставки сообщений (автоматическая повторная передача, дедупликация сообщений, обратная связь о состоянии и т. д.), гарантирующий, что ни одно сообщение не будет пропущено;
- Прочность и надежность. Практика показала, что он очень подходит для стабильной и надежной работы в средах с высокой задержкой, кросс-континентальных сетях и различных сетевых стандартах;
- Восстановление при отключении сети: оно имеет возможность автоматически определять состояние сети и автоматически устранять отключения от сети;
- Оригинальный алгоритм: основной алгоритм и реализация являются оригинальными, что обеспечивает возможности для постоянного улучшения и совершенствования;
- Несколько режимов: предварительно установите несколько режимов чувствительности в реальном времени для контроля оперативности, трафика и энергопотребления клиента в соответствии с различными сценариями;
- Сжатие данных: реализованное с помощью собственного протокола, сжатие данных может быть настроено в будущем для гибкого управления клиентским трафиком и пропускной способностью сети сервера;
- Высокая инкапсуляция. Высокоинкапсулированный интерфейс API обеспечивает простоту вызова, а также делает его применимым для большего количества сценариев применения;
- Веб-поддержка: он может легко взаимодействовать с родственным проектом MobileIMSDK-Web для реализации чата или push-уведомлений на веб-странице и т. д. :point_left:;
- Хорошая масштабируемость: сервер основан на Netty и унаследовал превосходную масштабируемость Netty;
- Отличная производительность: сервер унаследовал высокую производительность и высокую пропускную способность Netty и подходит для высокопроизводительных серверных сценариев.
MobileIMSDK поддерживает все три типа тенденций сообщений для обмена мгновенными сообщениями:
(1) Клиент-клиент (C2C): он инициируется клиентом, а получателем является другой клиент;
(2) Клиент-сервер (C2S): он инициируется клиентом, а получателем является сервер;
(3) Сервер-клиент (S2C): он инициируется сервером, а получателем является клиент.
Вам может понадобиться: Посмотреть дополнительные вопросы и ответы о MobileIMSDK.
7. Тест производительности
Стресс-тестирование показывает, что при использовании MobileIMSDK в сценариях принудительной отправки теоретическая нагрузка на одну машину может приближаться к десяткам миллионов. При использовании в чат-приложениях нагрузка на одну машину может достигать сотен тысяч.
Конечно, каждое приложение имеет свои особенности и различия. Пожалуйста, оцените его на основе конкретных сценариев. Тестовые данные предназначены только для справки.
Отчет о тестировании производительности: нажмите здесь, чтобы просмотреть.
8. Демонстрационная программа
- Демо-версия клиента Android: нажмите здесь, чтобы установить и использовать;
- Демо-версия клиента iOS: нажмите здесь, чтобы установить и использовать;
- Демонстрация Java-клиента: нажмите здесь, чтобы установить и использовать;
- Демонстрация клиента H5: нажмите здесь, чтобы просмотреть введение;
- Демонстрация мини-программы WeChat: нажмите здесь, чтобы просмотреть введение;
- Демонстрация Uniapp: нажмите здесь, чтобы просмотреть введение;
- Следующее демо Hongmeng: Нажмите здесь, чтобы просмотреть введение?;
- Демо-версия сервера: нажмите здесь, чтобы установить и использовать.
9. Случаи применения
① Приложение чата на уровне продукта на основе MobileIMSDK:
Подробное введение, опыт загрузки или просмотр снимков экрана.
② Случай MobileIMSDK с высокой задержкой в сети:
Определенный коммерческий продукт на базе MobileIMSDK когда-то работал в сложной межконтинентальной сетевой среде. Задержка сквозной связи может достигать более 600 мс, когда межконтинентальная сеть занята (односторонняя задержка с сервером составляет около 300 мс). , и обычно когда люди посещают внутренние порталы. Задержка основных порталов составляет около 20–50 мс. Нажмите здесь, чтобы просмотреть неконфиденциальные операционные данные за определенный период.
10. Загрузка пакета (все в одном)
① Последняя версия выпуска (заграничный адрес): загрузка пакета Github.
? ② Последняя версия выпуска (внутренний адрес): загрузка пакета gitee облака кода (быстрый доступ! ?)
Примечание. Пакет последней версии содержит полный исходный код демонстрационной версии, исходный код SDK, документацию по API, скомпилированный дистрибутив и т. д.
11. Типичные сценарии применения
Сценарий 1: Приложение чата
- Описание приложения: его можно использовать для разработки инструментов чата, подобных WeChat, QQ и т. д.
- Направление сообщения: необходимо использовать все типы C2C, C2S и S2C.
- Особое примечание: MobileIMSDK не определяет логику и протоколы уровня приложений. Разработчики могут определять и реализовывать их самостоятельно.
Сценарий 2: Рассылка сообщений
- Описание приложения: Может использоваться для различных типов приложений, которым необходимо передавать информацию клиентам в режиме реального времени.
- Направление сообщения: используется только одно направление сообщения S2C, что является простейшим сценарием применения MobileIMSDK.
Сценарий 3: Открытый доступ предприятия
- Описание приложения: его можно использовать для отправки различных сообщений, таких как инструкции, официальные документы и приложения для корпоративного открытого доступа, в режиме реального времени, что значительно улучшает взаимодействие с пользователем, и его можно распространить на мобильные устройства.
- Направление сообщения: используется только одно направление сообщения S2C, что является простейшим сценарием применения MobileIMSDK.
Сценарий 4. Расширенная версия корпоративного открытого доступа.
- Описание приложения: его можно использовать для реализации взаимодействия в реальном времени различных сообщений на уровне системы и уровня пользователя в корпоративном открытом доступе, в полной мере используя технологию обмена мгновенными сообщениями для повышения ценности традиционного открытого доступа.
- Тенденция обмена сообщениями: можно использовать все типы C2C, C2S и S2C. Во многих аспектах это ничем не отличается от приложений чата. Однако корпоративный OA имеет собственную модель и логику управления взаимоотношениями с пользователями, которые намного проще, чем полнофункциональный чат. Приложения.
12. Руководство по разработке
- Руководство по разработке клиента Android: нажмите здесь, чтобы просмотреть;
- Руководство по разработке клиента iOS: нажмите здесь, чтобы просмотреть;
- Руководство по разработке клиента Java: нажмите здесь, чтобы просмотреть;
- Руководство по разработке клиента H5: нажмите здесь, чтобы просмотреть;
- Руководство по разработке мини-программы WeChat: нажмите здесь, чтобы просмотреть;
- Руководство по разработке Uniapp: нажмите здесь, чтобы просмотреть;
- Руководство по разработке Hongmeng Next: нажмите здесь, чтобы просмотреть;
- Руководство по разработке на стороне сервера: нажмите здесь, чтобы просмотреть.
13. Способ авторизации
Вы можете использовать MobileIMSDK бесплатно и навсегда, например, в исследовательских, учебных и даже коммерческих целях. Однако использовать его в коммерческих целях, выходящих за рамки лицензии, запрещено. Пожалуйста, соблюдайте права интеллектуальной собственности. Более подробные инструкции по авторизации см. в разделе «12. Методы авторизации» в вводной публикации сообщества MobileIMSDK.
Дополнительное примечание: Если вам нужна дополнительная техническая поддержка или техническое сотрудничество, свяжитесь с автором, QQ: 413980957
(:point_right: Об авторе).
14. Контактная информация
- Область обсуждения, обучения и информации: :earth_americas: Нажмите здесь, чтобы войти;
- Группа обмена технологиями обмена мгновенными сообщениями:
185926912
(Для получения дополнительных групп QQ нажмите здесь, чтобы войти); - Пожалуйста, присылайте сообщения об ошибках и предложения по адресу: :love_letter:
[email protected]
; - По вопросам технического обучения/перевода/сотрудничества/консультации обращайтесь к автору QQ: :penguin:
413980957
, WeChat: hellojackjiang
(:point_right: Об авторе).
15. Пожертвовать автору
Чтобы двигаться дальше, отличному открытому исходному коду нужна ваша поддержка. Я искренне благодарю вас за вашу поддержку и понимание и надеюсь, что открытый исходный код принесет вам пользу.
- Ссылка для пожертвования: Нажмите здесь, чтобы войти.
16. Следуйте за автором
- Об авторе: Нажмите, чтобы войти?
- Рекомендуемое внимание: BeautyEye Engineering
- Адрес блога: нажмите, чтобы войти
- Домашняя страница Github: нажмите, чтобы войти
- Мой официальный аккаунт: :point_down: :point_down:
Приложение: Скриншоты запуска демо-версии
1. Эффект от запуска демо-версии MobileIMSDK на Hongmeng Next:
编译和运行:
просмотрите полный исходный код Hongmeng Next Demo.
2. Демо-версия MobileIMSDK работает на Android и iOS:
安装和使用:
перейдите на справочную страницу демо-версии Android, перейдите на справочную страницу демо-версии iOS.
3. Эффект запуска демо-версии MobileIMSDK на стороне H5:
4. Эффект запуска демо-версии MobileIMSDK в апплете WeChat:
5. Эффект от запуска демо-версии MobileIMSDK в Uniapp:
6. Эффект запуска демо-версии MobileIMSDK в Windows:
安装和使用:
перейдите на справочную страницу демонстрационной версии Java.
7. Демоверсия MobileIMSDK работает в Mac OS X:
安装和使用:
перейдите на справочную страницу демонстрационной версии Java.
8. Демонстрационный эффект клиента MobileIMSDK-Web-версии:
1)MobileIMSDK-Web Demo在手机端浏览器运行效果:
просмотрите подробную информацию о версии MobileIMSDK-Web.
2)MobileIMSDK-Web Demo在PC端多种主流浏览器的运行效果:
просмотрите подробную информацию о версии MobileIMSDK-Web.
Вариант 1. Полнофункциональный мобильный IM-продукт на базе MobileIMSDK.
关于RainbowChat产品的更多资料请见:
Скриншоты всех функций продуктов RainbowChat (видео из реальной жизни: Android и iOS).
[Особое примечание]: поскольку изображение GitHub было заблокировано, оно не было успешно синхронизировано. Проверьте скриншоты всех функций продукта RainbowChat! :point_left: :point_left:
更多清晰运行截图请见:
Скриншоты всех функций продукта RainbowCha.
Вариант 2. Веб-система обмена мгновенными сообщениями на базе MobileIMSDK-Web.
Основной интерфейс продукта RainbowChat-Web:
更多截图和视频:
нажмите здесь, чтобы просмотреть дополнительные снимки экрана, и щелкните здесь, чтобы просмотреть дополнительные демонстрационные видеоролики.
Основной интерфейс продукта RainbowChat-Web (когда окно чата полноэкранное):
更多截图和视频:
нажмите здесь, чтобы просмотреть дополнительные снимки экрана, и щелкните здесь, чтобы просмотреть дополнительные демонстрационные видеоролики.
Основной интерфейс продукта RainbowChat-Web (независимый эффект пользовательского интерфейса):
更多截图和视频:
нажмите здесь, чтобы просмотреть дополнительные снимки экрана, и щелкните здесь, чтобы просмотреть дополнительные демонстрационные видеоролики.