如何在 socket.io 客户端上使用回调?

Oli*_*ler 3 java android socket.io socket.io-java-client

我想回拨服务器以确认我的客户端已接到电话。在相反的方向,这是大量记录并且工作正常,但是我如何从客户端确认?

注意:我在 Android 上使用 socket-io-java-client https://github.com/socketio/socket.io-client-java,而不是 JavaScript,但这应该无关紧要。好吧,也许确实如此。

    socket.on("onMessage", new Emitter.Listener() {
                @Override public void call(Object... args) {
                    // I have the args here and the last argument is a callback,
                    // but what do I need to do to callback the server using that arg?
                }
            })
Run Code Online (Sandbox Code Playgroud)

在 Swift 中它看起来像这样,但我无法弄清楚如何使用上述库在 Java 中执行此操作。

    socket.on("onMessage") { data, ack in
        ack?()
    }
Run Code Online (Sandbox Code Playgroud)

有没有人这样做过或知道如何实现这一目标?

Oli*_*ler 6

我忽略了这一点。这里有一个例子:

https://github.com/socketio/socket.io-client-java

// ack from client to server
socket.on("foo", new Emitter.Listener() {
  @Override
  public void call(Object... args) {
    Ack ack = (Ack) args[args.length - 1];
    ack.call();
  }
});
Run Code Online (Sandbox Code Playgroud)

[感谢亚历克斯,他刚刚通过 Skype 向我发送了 URL。]