没有从SignalR集线器接收任何数据

时间:2019-05-07 12:06:06

标签: java android signalr

我是signalR的新手,尝试连接到集线器并成功连接后获得了connectionId。

我的代码

Platform.loadPlatformComponent(new AndroidPlatformComponent());
    String host = "url";
    HubConnection connection = new HubConnection(host);
    HubProxy hub = connection.createHubProxy("pttdashboardhub");
    ClientTransport clientTransport = new ServerSentEventsTransport(connection.getLogger());
    SignalRFuture<Void> signalRFuture = connection.start(clientTransport);
    try {
        signalRFuture.get();
        System.out.println(connection.getConnectionId());

    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    }

    hub.on("onEvent",
            new SubscriptionHandler1<String>() {
                @Override
                public void run(String s) {
                    System.out.println("================ "+s);
                }
    }, String.class);

服务器代码

var eventHub = GlobalHost.ConnectionManager.GetHubContext<EventHub>();
          var result = eventHub.Clients.Group("pttdashboard").onEvent(data);

当执行hub.on函数时,问题出在服务器上,我什么也没收到。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您可以使用订阅功能代替on功能。

   hub.subscribe("onEvent").addReceivedHandler(new Action<JsonElement[]>(){
       @Override
       public void run(JsonElement obj) {
          System.out.println("================ "+s);
       }

    });

希望对您有帮助。