如何使用 socket.io 在 android 中实现即时消息?

How to implement Instant Messaging in android using socket.io?

我想在我正在开发的应用程序中实现 IM。有人建议我为此目的使用 socket.io。但是,我只是 Android 开发的初学者。基本上,我只是希望用户能够相互发送简单的字符串消息。

因此,我浏览了 this github repo,它在即时消息应用程序中使用了 socket.io。但是我还没有从中理解任何东西。我只想了解每个方法的作用以及应该在何时调用?如何发送消息以及如何接收消息?有人可以提供此代码的简单解释吗?

Socket.IO 使用套接字在两个节点之间启用基于事件的实时双向通信。

在高层次上,要在您的应用程序中使用 Socket.IO,您首先需要创建它的一个实例。这将允许您发送和接收消息。例如:

private Socket mSocket;
mSocket = IO.socket("http://chat.socket.io");
mSocket.connect();

要发送消息,您需要 emit 参加活动。我们称此事件为 "new message"。以下代码使用 emit.

发送消息
mSocket.emit("new message", message);

在聊天应用程序中,当用户单击“发送”按钮时,您会emit一条新消息。

既然我们知道了如何发送消息,我们就需要知道如何接收消息。要接收消息,您需要监听一个事件,而不是发出一个事件。

mSocket.on("new message", onNewMessage);

上面的行将监听一个"new message"事件,并执行onNewMessage中设置的行为,这是一个Listener。在您的聊天应用程序中,您可以通过在 Listener.

中添加逻辑来使用新消息更新 UI

要回顾一下,您需要:

  1. 创建一个 Socket.IO 实例
  2. 当用户单击“发送”时发出消息。
  3. 侦听消息并更新 UI。

有关实施的详细信息,请参阅 Socket.IO's Android tutorial

希望对您有所帮助!