c# - 如何使用程序包管理器控制台为控制台 C# 应用程序安装 clrzmq?

标签 c# .net clr zeromq package-managers

场景一旦 Node.js 服务器在 tcp://127.0.0.1:2202 上进行 ZeroMQ 拉取监听。数据必须由 C# 控制台应用程序发送。

问题:
Example Reference

using System;
using System.Text;
using ZMQ;

namespace ZMQGuide
{
    class Program
    {
        static void Main(string[] args)
        {
            // ZMQ Context and client socket
            using (ZmqContext context = ZmqContext.Create())
            using (ZmqSocket client = context.CreateSocket(SocketType.PUSH))
            {
                client.Connect("tcp://127.0.0.1:2202");

                string request = "Hello";
                for (int requestNum = 0; requestNum < 10; requestNum++)
                {
                    Console.WriteLine("Sending request {0}...", requestNum);
                    client.Send(request, Encoding.Unicode);

                    string reply = client.Receive(Encoding.Unicode);
                    Console.WriteLine("Received reply {0}: {1}", requestNum, reply);
                }
            }
        }
    }
}

出现以下错误:

Error   1   The type or namespace name 'ZmqContext' could not be found (are you missing a using directive or an assembly reference?)    D:\..\Program.cs    26  24  PROJECTA

信息:我尝试使用包管理器控制台安装最新版本,方法是发出命令 PM> Install-Package clrzmq 命令后输出:

'clrzmq 2.2.5' already installed.
Successfully added 'clrzmq 2.2.5' to PROJECTA.

问题:谁能告诉我我哪里出错了或者我错过了什么?


更新:我有 downloaded并尝试过,但没有运气:-)

提前感谢您的大力帮助

最佳答案

我可以重现您的问题。我认为这可能是因为文档有点过时了,但这似乎适合我:

using ZMQ;

namespace TestConsole 
{
    class Program
    {
        static void Main(string[] args)
        {
            // ZMQ Context and client socket
            using (Context context = new Context())
            using (Socket client = context.Socket(SocketType.PUSH))
            {
                client.Connect("tcp://127.0.0.1:2202");

                string request = "Hello";
                for (int requestNum = 0; requestNum < 10; requestNum++)
                {
                    Console.WriteLine("Sending request {0}...", requestNum);
                    client.Send(request, Encoding.Unicode);

                    string reply = client.Recv(Encoding.Unicode);
                    Console.WriteLine("Received reply {0}: {1}", requestNum, reply);
                }
            }
        }
    }
}

我没有运行 ZeroMQ 或任何东西来实际检查它是否有效,但也许你可以试一试?

关于c# - 如何使用程序包管理器控制台为控制台 C# 应用程序安装 clrzmq?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15659491/

相关文章:

c# - 按回车键点击按钮 VC#

c# - 如何从异步返回字符串

c# - 将 Datagridview 记录导出到 Excel

.net - 如何加速 "Verifying Application Requirements"窗口?

c# - 除非标记为UNSAFE,否则C#CLR会引发安全异常

c# - 为什么要替换 c# 常量

java - 运行时应用程序 self 保护 (RASP)

c# - 如何对datagridview末尾的列求和

c# - 我应该使用基于 REST 的服务通过 API 连接 C# 和 java(或其他技术)吗?

.net - 为什么 .NET Array 类复制这么慢?