Heim >Backend-Entwicklung >C#.Net-Tutorial >Einführung in den SignalR Self Host Multi-Terminal-Nachrichten-Push-Dienst (2)
In diesem Artikel wird hauptsächlich der zweite Teil von Multi-Terminal-Nachrichten-Push-Diensten wie SignalR Self Host+MVC vorgestellt. Er hat einen gewissen Referenzwert.
1. Übersicht
Im letzten Artikel haben wir einfach den selbstgehosteten SignalR-Server implementiert. Heute werden wir das Konsolenprogramm implementieren, um den SignalR-Server aufzurufen, um Informationen zu übertragen Daher besteht unsere Demo-Richtung darin, Nachrichten an bestimmte Personen zu senden. Chat-Nachrichten und globale Übertragungen werden wir hier nicht demonstrieren.
2. Erstellen Sie einen Konsolen-Client
1. Erstellen Sie eine neue Konsole mit dem Namen Clinet unter der SignalRProject-Lösung
2. Geben Sie den folgenden Befehl in die Paketverwaltungskonsole ein:
Install-Package Microsoft.AspNet.SignalR.Client
3. Ändern Sie den Program.cs-Code des Clinet-Projekts
using Microsoft.AspNet.SignalR.Client; using System; namespace Clinet { class Program { static void Main(string[] args) { Console.Write("请输入用户名: "); string clientName = Console.ReadLine(); var url = "http://localhost:10086/"; var connection = new HubConnection(url); var chatHub = connection.CreateHubProxy("IMHub"); connection.Start().ContinueWith(t => { if (!t.IsFaulted) { //连接成功,调用Register方法 chatHub.Invoke("Register", clientName); } }); //客户端接收实现,可以用js,也可以用后端接收 var broadcastHandler = chatHub.On<string, string>("receivePrivateMessage", (name, message) => { Console.WriteLine("[{0}]{1}: {2}", DateTime.Now.ToString("HH:mm:ss"), name, message); }); Console.WriteLine("请输入接收者名:"); var _name = Console.ReadLine(); Console.WriteLine("请输入发送信息!"); while (true) { var _message = Console.ReadLine(); chatHub.Invoke("SendPrivateMessage", _name, _message).ContinueWith(t => { if (t.IsFaulted) { Console.WriteLine("连接失败!"); } }); Console.WriteLine("请输入接收者名:"); _name = Console.ReadLine(); Console.WriteLine("请输入发送信息!"); } } } }
4. Klicken Sie mit der rechten Maustaste auf die Lösung——>Wählen Sie Eigenschaften ——>Startprojekt——>Mehrere Startprojekte——>Stellen Sie Clinet und Server wie folgt auf Start:
5. Öffnen Sie nach dem Ausführen von F5 Geben Sie in einem anderen Clinet den Benutzernamen a im ersten Client ein. Nach der Anmeldung wird die Anmelde-ID a auf dem Server angezeigt. Geben Sie den Benutzernamen b in einem anderen Clinet ein. Nach der Anmeldung wird die Anmelde-ID angezeigt Geben Sie auf dem Server die ID von b ein und geben Sie dann gemäß den Eingabeaufforderungsinformationen die Person ein, die die Informationen als b erhält. Nachdem Sie „Hallo“ eingegeben und die Eingabetaste gedrückt haben, zeigt b Client die von a eingegebenen Informationen an, wie unten gezeigt:
Da die Konsole den SignalR-Server aufruft, ist die Demo zur Implementierung von Message Push abgeschlossen. Im nächsten Kapitel werden wir das B/S-Ende implementieren Rufen Sie den SignalR-Dienst auf, um Nachrichten zu senden
Das obige ist der detaillierte Inhalt vonEinführung in den SignalR Self Host Multi-Terminal-Nachrichten-Push-Dienst (2). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!