【问题标题】:how to use invoke on HubProxy signalr android如何在 HubProxy 信号器 android 上使用调用
【发布时间】: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&lt;Void&gt; 更改为&lt;Object&gt; 会出错。 我如何从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;
    }

【问题讨论】:

    标签: java android signalr


    【解决方案1】:

    显然这就是你的做法(以字符串形式接收结果):

    mHubProxy.invoke(String.class, "param1", "param2").done(new Action<String>() {
            @Override
            public void run(String aVoid) throws Exception {
    
            }
        });
    

    【讨论】:

      猜你喜欢
      • 2015-12-10
      • 1970-01-01
      • 2017-11-16
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多