通常,当我们使用 HTTP 请求时,我们会在请求成功/失败时调用一组特定的方法/回调。每个连接请求都可以有自己的回调方法,这使得代码的结构变得非常容易。
所以现在我正在为一个新项目尝试 Socket.io,我感到很困惑。例如,您向套接字连接发出一条消息,然后就完成了。那里没有回调。没有简单的方法可以知道这是否真的成功了我已经设法通过编写这个方法来模拟回调:
public void emitRequest(final String event, JSONObject data, final emitResponseListener pListener)
{
mSocket.on(event+"_resp", new Listener() {
@Override
public void call(final Object... args) {
((Activity)c).runOnUiThread(new Runnable() {
@Override
public void run() {
JSONObject data = (JSONObject) args[0];
if (pListener!=null)
{
pListener.onResponseRecieved(data);
}
}
});
}
});
mSocket.emit(event,data);
}
此方法event
在发出event
. 但这就是我所拥有的。我不知道如何处理特定发射的错误,以便更新 UI 或通知用户 .etc。
当然,有一些回调事件,Socket
但这些事件不可能连接到应用程序流中。
那么有人知道实现这一目标的方法吗?我搜索了很多,但找不到任何东西。我正在使用 Java 客户端,但欢迎任何客户端 API 的通用答案。