首页 > 解决方案 > 在 Java SignalR 客户端中未调用 hubProxy.broadcastMessage

问题描述

我在 ASP.net MVC 网站上托管了一个 SignalR 服务器。

我将一个 WinForms 应用程序作为客户端连接到该服务器,并且工作得非常好。

现在我在这段代码的帮助下制作了一个 Java 客户端。这个客户端成功连接到服务器,但是当我从服务器向这个客户端发送任何消息时,它没有收到它。

Java客户端的代码是:

private static void ConnectSignalR() throws InterruptedException, ExecutionException
{
      IP = GetExternalAddress();

      String ServerURI = "http://localhost:59044"; 
      hubConnection = new HubConnection(ServerURI); 
      hubProxy = hubConnection.createHubProxy("ChatHub");

      SignalRFuture<Void> con  = hubConnection.start(new ServerSentEventsTransport(hubConnection.getLogger())); //Or LongPollingTransport

        con.get(); 

        Object[] oa = new Object[] {"Win", UUID.randomUUID(), 5, IP}; 

        hubProxy.invoke("Notify", oa);

      hubProxy.on("broadcastMessage", new SubscriptionHandler2<String,String>() {
          @Override
          public void run(String e1,String e2) {
             System.out.println(e1.toString()); 
             checkMessage(e1, e2);
          }
        }, String.class, String.class);

      hubConnection.received(new MessageReceivedHandler() {
            @Override
            public void onMessageReceived(final JsonElement json) {
                checkMessage("", json.toString());
            }
        });

}

所以它永远不会到达广播消息的断点。我可能做错了什么?

标签: javasignalrsignalr.client

解决方案


推荐阅读