首页 > 后端开发 > C++ > 如何使用 SignalR 在控制台应用程序之间发送消息?

如何使用 SignalR 在控制台应用程序之间发送消息?

Susan Sarandon
发布: 2025-01-04 16:13:41
原创
853 人浏览过

How to Send Messages Between Console Applications Using SignalR?

在控制台应用程序中使用 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();
        }
    }
}
登录后复制

其他信息

  • 使用 [HubName("CustomName")] 分配自定义中心名称,但请注意,使用标准集线器名称可能会导致兼容性问题。
  • 将两个项目运行为管理员。
  • 如果您收到“未知中心”错误,请确保中心名称和客户端代理名称匹配。

以上是如何使用 SignalR 在控制台应用程序之间发送消息?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板