【发布时间】:2017-10-20 23:22:23
【问题描述】:
我是 SignalR 库的新手,Android 中缺少有关 Microsoft's website 的文档并没有真正的帮助。我正在尝试使用此代码在服务器上调用一个方法:
mHubProxy.invoke("method", "params...").done(new Action<Void>() {
@Override
public void run(Void aVoid) throws Exception {
}
});
但是来自服务器的结果不是void 并且将Action<Void> 更改为<Object> 会出错。 我如何从invoke 获得不无效的回复?
初始化部分:
Platform.loadPlatformComponent(new AndroidPlatformComponent());
String serverUrl = "server";
mHubConnection = new HubConnection(serverUrl);
String SERVER_GET_TOKEN = "name";
mHubProxy = mHubConnection.createHubProxy(SERVER_GET_TOKEN);
ClientTransport clientTransport = new ServerSentEventsTransport(mHubConnection.getLogger());
Credentials credentials = new Credentials() {
@Override
public void prepareRequest(Request request) {
request.addHeader("Authorization", token);
}
};
mHubConnection.setCredentials(credentials);
SignalRFuture<Void> signalRFuture = mHubConnection.start(clientTransport);
try {
signalRFuture.get();
} catch (InterruptedException | ExecutionException e) {
Log.e("SimpleSignalR", e.toString());
return;
}
【问题讨论】: