实时服务器调用客户端(Xamarin Forms e Aspnet Core)

时间:2019-06-12 16:31:39

标签: c# xamarin.forms websocket

我在AspNet Core C#中有一个应用程序(服务器),当服务器上进行IP交换时,该应用程序需要通知Xamarin表单(客户端)应用程序。 我目前使用SignalR进行实时通信。但是,当它更改服务器的IP时,此通信将丢失。 目前,我无法使用DNS名称。 我该如何解决这个问题? 是否可以使用SignalR做到这一点,还是应该寻找其他组件?



//Client Code
public static async Task SetupSignalR()
        {
            try
            {
                if (hubConnection == null || hubConnection.State == ConnectionState.Disconnected)
                {
                    hubConnection = new HubConnection(Configuracao.ServerUrl + "");
                    var notificaoHub = hubConnection.CreateHubProxy("NotificacaoHub");

                    var inicializar = App.Container.Get<IInicializacaoService>();                    

                    notificaoHub.On("NotificacaoTrocaIpServidor", NotificacaoTrocaIpServidor);

                    await hubConnection.Start();
                }
            }
            catch (Exception ex)
            {
                App.RegistrarErro(ex.Message, ex);
            }
        }

//Server Code
public void ConfigurarIpServidor(DtoConfigurarIpServidorRequest dto)
        {

                IHubContext context = GlobalHost.ConnectionManager.GetHubContext<NotificacaoHub>();
                context.Clients.All.NotificacaoTrocaIpServidor();
        }

0 个答案:

没有答案