Heim > Backend-Entwicklung > C++ > Wie sende ich Nachrichten zwischen Konsolenanwendungen mit SignalR?

Wie sende ich Nachrichten zwischen Konsolenanwendungen mit SignalR?

Susan Sarandon
Freigeben: 2025-01-04 16:13:41
Original
806 Leute haben es durchsucht

How to Send Messages Between Console Applications Using SignalR?

Nachrichten mit SignalR in einer Konsolen-App senden

SignalR ermöglicht Echtzeitkommunikation zwischen einem Server und verbundenen Clients. Um SignalR nutzen zu können, müssen Sie SignalR.Hosting.Self auf der Serveranwendung und SignalR.Client auf der Clientanwendung über NuGet installieren.

Serverkonsolen-App

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);
            }
        }
    }
}
Nach dem Login kopieren

Client-Konsolen-App

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();
        }
    }
}
Nach dem Login kopieren

Zusätzlich Informationen

  • Weisen Sie mit [HubName("CustomName")] einen benutzerdefinierten Hub-Namen zu. Beachten Sie jedoch, dass die Verwendung eines Standard-Hub-Namens zu Kompatibilitätsproblemen führen kann.
  • Führen Sie beide Projekte aus als Administratoren.
  • Wenn Sie die Fehlermeldung „Unbekannter Hub“ erhalten, stellen Sie sicher, dass sowohl der Hub-Name als auch der Client-Proxy-Name übereinstimmen.

Das obige ist der detaillierte Inhalt vonWie sende ich Nachrichten zwischen Konsolenanwendungen mit SignalR?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage