src/Library/NetPro.ZeroMQ/readme.md

(开头部分) 2KB

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


## NetPro.ZeroMQ使用
 [![NuGet](https://img.shields.io/nuget/v/NetPro.ZeroMQ.svg)](https://nuget.org/packages/NetPro.ZeroMQ)

### 使用

#### appsetting.json 

```json
  "ZeroMQOption": {
    "PublishPort": 81,
    "PushPort": 82
  }

```
#### 启用服务
没有基于NetPro.Web.Api 的使用场景,必须手动进行初始化,如下:
```csharp
IConfiguration Configuration;

public void ConfigureServices(IServiceCollection services)
{
            var option= new ZeroMQOption(configuration);
            services.AddZeroMQForPublisher(option);
            services.AddZeroMQForPushSocket(option);
}
```

基于NetPro.Web.Api的使用,只需要添加引用后配置以上appsetting.josn配置ZeroMQOption节点即可

### 使用说明
```csharp
 public class ZeroMQService: IZeroMQService
    {
        private readonly static object _lock = new();//zeromq socket is thread-unsafe
        private readonly PublisherSocket _publisherSocket;
        private readonly PushSocket _pushSocket;
        public ZeroMQService( PublisherSocket publisherSocket
                , PushSocket pushSocket)
        {
            _publisherSocket = publisherSocket;
            _pushSocket = pushSocket;
        }

        /// <summary>
        /// publish-subscribtion
        /// </summary>
        public void Publish(string sql)
        { 
            lock (_lock)
            {
            _publisherSocket.SendMoreFrame("A:b") // Topic支持特殊符号,topic命名最佳实践:模块名/功能命/功能层级
                   .SendFrame(DateTimeOffset.Now.ToString());
            }
        }

        /// <summary>
        /// push-pull
        /// </summary>
        /// <returns></returns>
后面还有 16 行代码,解锁后查看完整代码

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

AI 解读 AI

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

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