在控制台应用程序中使用 SignalR 发送消息
SignalR 支持服务器和连接的客户端之间的实时通信。要使用 SignalR,您需要通过 NuGet 在服务器应用程序上安装 SignalR.Hosting.Self,并在客户端应用程序上安装 SignalR.Client。
服务器控制台应用程序
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); } } } }
客户端控制台应用程序
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(); } } }
其他信息
以上是如何使用 SignalR 在控制台应用程序之间发送消息?的详细内容。更多信息请关注PHP中文网其他相关文章!