src/Test/TestConsole/Program.cs

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using NetMQ;
using NetMQ.Sockets;
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;

namespace TestConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            var host = new HostBuilder()
                .ConfigureHostConfiguration(configHost =>
                {
                    var basePath = Directory.GetCurrentDirectory();
                    configHost.SetBasePath(basePath);
                    configHost.AddEnvironmentVariables("ASPNETCORE_");
                })
                .ConfigureAppConfiguration((hostContext, configApp) =>
                {
                    configApp.AddJsonFile("appsettings.json", true);
                    configApp.AddJsonFile($"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", true);
                    configApp.AddEnvironmentVariables();
                })
                .ConfigureServices((hostContext, services) =>
                {
                    //发布订阅
                    Task.Run(() =>
                    {
                        //https://netmq.readthedocs.io/en/latest/
                        using (var publisher = new PublisherSocket())
                        {
                            //发布是由于本机承载故配回环地址即可
                            //发布者优先使用bind方法;订阅者和拉取侧优先使用Connect;发布者和推送者优先使用回环地址
                            publisher.Bind("tcp://*:81");
                            while (true)
                            {
                                publisher
                               .SendMoreFrame("A:b") // Topic
                               .SendFrame($"A:b--{DateTimeOffset.Now.ToString()}"); // Message
                                //Console.WriteLine("发布队列-A:b:g-Hello Clients");
                                //Thread.Sleep(1000);

                               // publisher
                               //.SendMoreFrame("A:c:g") // Topic
                               //.SendFrame($"A:c:g--{DateTimeOffset.Now.ToString()}"); // Message
                               // Console.WriteLine("发布队列-A:c:g-Hello Clients");
                            }
                        }
                    });

                    ////推拉
                    //Task.Run(() =>
                    //{
                    //    using (var pushSocket = new PushSocket())
                    //    {
后面还有 63 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。