Contoh Apl Konsol SignalR
Dalam artikel ini, kami akan meneroka contoh aplikasi konsol menggunakan SignalR untuk berkomunikasi dengan .NET hub.
IsyaratR Persediaan
Sebelum meneruskan, pastikan pakej SignalR berikut dipasang dalam kedua-dua pelayan dan aplikasi klien melalui NuGet:
Pelaksanaan Pelayan
Buat pelayan aplikasi konsol dengan kod berikut:
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) { ConsoleKeyInfo ki = Console.ReadKey(true); if (ki.Key == ConsoleKey.X) { break; } } } [HubName("CustomHub")] public class MyHub : Hub { public string Send(string message) { return message; } public void DoSomething(string param) { Clients.addMessage(param); } } } }
Pelaksanaan Pelanggan
Dalam apl konsol yang berasingan pelanggan:
using System; using SignalR.Client.Hubs; namespace SignalRConsoleApp { internal class Program { private static void Main(string[] args) { var connection = new HubConnection("http://127.0.0.1:8088/"); var myHub = connection.CreateHubProxy("CustomHub"); connection.Start().ContinueWith(task => { if (task.IsFaulted) { Console.WriteLine("Error opening connection: {0}", task.Exception.GetBaseException()); } else { Console.WriteLine("Connected"); } }).Wait(); myHub.Invoke<string>("Send", "HELLO World ").ContinueWith(task => { if (task.IsFaulted) { Console.WriteLine("Error calling Send: {0}", task.Exception.GetBaseException()); } else { Console.WriteLine(task.Result); } }); myHub.On<string>("addMessage", param => { Console.WriteLine(param); }); myHub.Invoke<string>("DoSomething", "I'm doing something!!!").Wait(); Console.Read(); connection.Stop(); } } }
Isu dan Penyelesaian
Menetapkan Nama Hab
Jika anda menghadapi masalah dengan hab tertentu nama ("ujian") dalam kod sebelah pelayan anda (cth., [HubName("test")]), pastikan ia tidak bercanggah dengan atribut HubName dalam kod sisi klien. Nama hab yang digunakan dalam kedua-dua pelayan dan pelanggan mesti sepadan untuk komunikasi yang betul.
Atas ialah kandungan terperinci Bagaimana untuk Membina Aplikasi Konsol SignalR Mudah dengan Pelayan dan Pelanggan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!