在 Viber 或 Telegram 等聊天应用程序中将客户端连接到服务器

Connecting client to server in chat apps like Viber or Telegram

我想创建一个应用程序,如 Viber 或 WhatsApp 等。我的主要挑战是连接客户端和服务器。现在我知道我必须使用 Websockets 标准进行连接。对于网络客户端,我想使用标准的 Websockets,对于 Android 和 iOS,我将使用基于 Websockets 的库。例如在这里你可以看到一个例子: http://www.elabs.se/blog/66-using-websockets-in-native-ios-and-android-apps

这种用于此目的的方法是否正确?还有什么其他选择?例如 Viber 或 Telegram 如何面对这个问题?请帮助我在开始之前选择正确的方法。 我将有 3 个客户端:Web、Android、iOS

是的,这是正确的方法。如果你想保持与服务器的持久连接,你将需要使用 websockets,这对于聊天应用程序来说是必不可少的。您可以尝试使用提供 webSocket 功能的第 3 方库,例如 SocketRocket(https://github.com/square/SocketRocket)

作为替代方案,您也可以尝试使用第 3 方聊天 SDK,如 Pepper Talk (https://github.com/Espreccino/PepperTalkSDK-iOS),它提供完整的聊天功能,包括开箱即用的网络套接字、通知、UI 等。

免责声明:我是 Pepper Talk 的联合创始人。

大多数应用程序使用 XMPP 协议来发送即时消息。

Websockets 是标准 TCP/IP 套接字的包装器,所以我的意见是改用它们。

您最大的问题实际上是移动设备的电池耗尽。节省电量的一种简单方法是使用 Firebase 云消息传递 (FCM)。在这里阅读更多相关信息:https://developer.android.com/training/efficient-downloads/regular_updates.html