Maison > développement back-end > C++ > Comment envoyer des messages entre les applications console à l'aide de SignalR ?

Comment envoyer des messages entre les applications console à l'aide de SignalR ?

Susan Sarandon
Libérer: 2025-01-04 16:13:41
original
806 Les gens l'ont consulté

How to Send Messages Between Console Applications Using SignalR?

Envoyer des messages avec SignalR dans une application console

SignalR permet une communication en temps réel entre un serveur et des clients connectés. Pour utiliser SignalR, vous devrez installer SignalR.Hosting.Self sur l'application serveur et SignalR.Client sur l'application client via NuGet.

Application console serveur

using System;
using SignalR.Hubs;

namespace SignalR.Hosting.Self.Samples {
    class Program {
        static void Main(string[] args) {
            string url = "http://127.0.0.1:8088/";
            var server = new Server(url);

            server.MapHubs();
            server.Start();

            Console.WriteLine("Server running on {0}", url);

            while (true) {
                var key = Console.ReadKey(true);
                if (key.Key == ConsoleKey.X) {
                    break;
                }
            }
        }

        [HubName("CustomHub")]
        class MyHub : Hub {
            public string Send(string message) {
                return message;
            }

            public void DoSomething(string param) {
                Clients.addMessage(param);
            }
        }
    }
}
Copier après la connexion

Console client Application

using System;
using SignalR.Client.Hubs;

namespace SignalRConsoleApp {
    internal class Program {
        static void Main(string[] args) {
            var connection = new HubConnection("http://127.0.0.1:8088/");
            var myHub = connection.CreateHubProxy("CustomHub");

            connection.Start().Wait();
            Console.WriteLine("Connected");

            myHub.Invoke<string>("Send", "HELLO World ").Wait();
            Console.WriteLine("Message sent.");

            myHub.On<string>("addMessage", param => Console.WriteLine(param));

            myHub.Invoke("DoSomething", "I'm doing something!!!").Wait();

            Console.Read();
            connection.Stop();
        }
    }
}
Copier après la connexion

Informations supplémentaires

  • Attribuez un nom de hub personnalisé à l'aide de [HubName("CustomName")] mais notez que l'utilisation d'un nom standard Le nom du hub peut entraîner des problèmes de compatibilité.
  • Exécutez les deux projets en tant qu'administrateur.
  • Si vous recevez un Erreur « Hub inconnu », assurez-vous que le nom du hub et celui du proxy client correspondent.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal