我是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函数时,问题出在服务器上,我什么也没收到。 任何帮助表示赞赏。
答案 0 :(得分:0)
您可以使用订阅功能代替on功能。
hub.subscribe("onEvent").addReceivedHandler(new Action<JsonElement[]>(){
@Override
public void run(JsonElement obj) {
System.out.println("================ "+s);
}
});
希望对您有帮助。