1. Introduction to the updated content

This is a major version update (see the "MobileIMSDK v6.0 update content" section at the end of this article), a strong upgrade, and will support TCP, UDP, and WebSocket at the same time. Under careful packaging, the same set of API, The three protocols coexist at the same time.

It may be the only open source IM framework of its kind that supports UDP+TCP+WebSocket at the same time on the market.

2. Introduction to MobileIMSDK

MobileIMSDK is an original IM communication layer framework specially developed for the mobile terminal:

  1. After 8 years, well-tested;
  2. Ultra-lightweight, highly refined, within 50KB of lib package;
  3. Carefully packaged, a set of API supports UDP, TCP, and WebSocket at the same time (may be the only open source on the entire network);
  4. The client supports iOS, Android, standard Java, H5, applets (under development...), Uniapp (under development...);
  5. The server is based on Netty, with excellent performance and easy expansion; 👈
  6. It can seamlessly communicate with the sister project MobileIMSDK-Web to realize web-side chat or push, etc.; 👈
  7. It can be applied to various scenarios such as cross-device, cross-network chat APP, enterprise OA, and message push.
  8. The MobileIMSDK project started in October 2013. It was initially used as the bottom layer of instant messaging for a product. It was developed completely from scratch, and the technology was independent and controllable!

You may need: Check out the detailed introduction about MobileIMSDK.

Three, code hosting synchronization update

OsChina.net:

GitHub.com:

Four, MobileIMSDK design goals

Let developers focus on the development of application logic, and leave the underlying complex instant messaging algorithms to SDK developers, thereby uncoupling the complexity of instant messaging application development.

Five, MobileIMSDK framework composition

The entire MobileIMSDK framework consists of the following 5 parts:

  1. Android client SDK: for the Android version of the instant messaging client, support Android 2.3 and above, view API documentation;
  2. iOS client SDK: used to develop the iOS version of the instant messaging client, support iOS 8.0 and above, view API documentation;
  3. Java client SDK: used to develop a cross-platform PC-side instant messaging client, support Java 1.6 and above, view API documentation;
  4. H5 client SDK: materials are being compiled and will be officially released soon;
  5. Server SDK: used to develop instant messaging server, support Java 1.7 and above, view API documentation.

Sixth, MobileIMSDK v6.0 update content

[Important Note]:
MobileIMSDK v6 is a new version, which adds elegant support for WebSocket protocol, multi-terminal mutual kicking support, etc.! see details

[New important features]:

The server adds WebSocket protocol support, a set of API elegantly supports TCP, UDP, and WebSocket 3 protocols;
Support multi-terminal mutual kicking function (can deal with the influence of complex mobile terminal network change logic on multi-terminal mutual kicking algorithm);

[Bug resolved]:

  1. [Andriod] Solved the hidden danger of a null pointer in the fireDisconnectedToServer() method after disconnection;
  2. [iOS] Fixed the bug that in the TCP version code, calling the [ClientCoreSDK releaseCore] method would trigger the automatic login logic;
  3. [Server] Under the UDP protocol, after the kicked person in the reconnection situation has been cancelled by the server, the client sends back the login response ACK response, which causes the server to send the logged-in person to the unkicked person by mistake Repeated login response issues;

[Other optimizations and improvements]:

  1. [Andriod] Abandoned the use of all AsyncTask in SDK and Demo code;
  2. [Andriod] All the codes that can use Lambda expressions are simplified with Lambda.
  3. [iOS] Solved the problem of "have the same architectures (arm64) and can't be in the same fat output file" when compiling the .a package of the SDK on XCode12 and packaging it into fat.
  4. [iOS] All the outdated UIAlertView used in the Demo are changed to UIAlertController implementation;
  5. [iOS] Solved two compilation errors on XCode 12.5.1 caused by class name reconstruction in the iOS SDK project.
  6. [Server] Upgrade the Log4j log framework in the server Demo to the latest Log4j2;
  7. [Server] The server can control whether to generate a sending timestamp for each message (which can assist in the message sorting logic of the client, etc.).

Seven, related links

Detailed introduction of MobileIMSDK: Click to view
Download link of MobileIMSDK: click to download


JackJiang
1.6k 声望808 粉丝

专注即时通讯(IM/推送)技术学习和研究。