安装和使用消息队列ZreoMQ

举报
码乐 发表于 2025/06/16 07:20:17 2025/06/16
89 0 0
【摘要】 1 在windows结合go安装在Windows 10上安装ZeroMQ并使用Go语言的/pebbe/zmq4库进行调用,可以按照以下步骤进行操作:第一步:安装ZeroMQ环境gcc环境安装:mingw第二步:安装Golang和pebbe/zmq4库安装Golang:访问 Golang下载页面。下载适用于Windows的安装程序并进行安装。设置Golang环境:安装完成后,确保Golang...

1 在windows结合go安装

在Windows 10上安装ZeroMQ并使用Go语言的/pebbe/zmq4库进行调用,可以按照以下步骤进行操作:

第一步:安装ZeroMQ环境

gcc环境安装:mingw

第二步:安装Golang和pebbe/zmq4库

安装Golang:

访问 Golang下载页面。
下载适用于Windows的安装程序并进行安装。

设置Golang环境:

安装完成后,确保Golang的bin目录已经添加到系统的环境变量中。

安装pebbe/zmq4库:

打开命令提示符,执行以下命令来安装Go的ZeroMQ库:

		 pebbe/zmq4

第三步:编写和运行Go代码
创建一个Go项目:

创建一个新的Go项目目录,例如 C:\go-projects\zmq-test。
在该目录下创建一个Go源文件,例如 main.go。

2 编写ZeroMQ示例代码:

func main() {
    // 创建一个ZeroMQ上下文
    context, err := zmq.NewContext()
    if err != nil {
        fmt.Println("Failed to create context:", err)
        return
    }
    defer context.Term()

    // 创建一个ZeroMQ套接字
    socket, err := context.NewSocket(zmq.REQ)
    if err != nil {
        fmt.Println("Failed to create socket:", err)
        return
    }
    defer socket.Close()

    // 连接到服务器
    socket.Connect("tcp://localhost:5555")

    // 发送消息
    message := "Hello, ZeroMQ!"
    socket.Send(message, 0)

    // 接收回复
    reply, err := socket.Recv(0)
    if err != nil {
        fmt.Println("Failed to receive reply:", err)
        return
    }

    fmt.Println("Received reply:", reply)
}
  • 运行Go程序:

打开命令提示符,导航到项目目录,执行以下命令:

		go run main.go

如果所有步骤都正确完成,程序将连接到本地ZeroMQ服务器并发送消息,并输出接收到的回复。

可能遇到的问题及解决方法

  • DLL文件找不到:

确保 libzmq.dll 文件已经正确放置在系统路径中,或者项目代码中包含设置DLL路径的代码。

  • 环境变量设置问题:

重新检查环境变量设置,确保 C:\zeromq 目录已经添加到Path中。
通过以上步骤,你应该能够在Windows 10上成功安装并使用ZeroMQ库,并通过Go语言进行调用。如果有任何问题或需要进一步的帮助,请随时提问。

  • ubuntu

    安装库
    apt-get install libzmq3-dev
    安装pkg-config
    apt-get install pkg-config

    不使用pkg
    安装Go的ZeroMQ绑定:

接下来,您需要安装Go的ZeroMQ绑定。这些绑定是将Go与ZeroMQ库连接起来的接口。您可以使用以下命令在终端中安装它们:

	go get /pebbe/zmq4

这将从GitHub上获取ZeroMQ 4.x的Go绑定,并将其安装到您的Go工作目录中。

  • 调整环境变量:

由于我们不使用pkg-config,我们需要手动设置环境变量以确保Go可以找到ZeroMQ库。在终端中执行以下命令:

	export LD_LIBRARY_PATH=/path/to/your/zeromq/lib:$LD_LIBRARY_PATH

将/path/to/your/zeromq/lib替换为您实际的ZeroMQ库文件路径。这告诉操作系统在链接时查找该路径下的库文件。

   curl --location --request POST '127.0.0.1:3001/'  --data-raw '{"title":"hello","content":"worlds"}'

安装脚本

# run in sudo
# Before installing, make sure you have installed all the needed packages
sudo apt-get install libtool pkg-config build-essential autoconf automake
sudo apt-get install libzmq-dev

# Install libsodium 
cd libsodium
./autogen.sh
./configure && make check
sudo make install
sudo ldconfig

cd /opt

# Install zeromq
# latest version as of this post is 4.1.2
wget     zeromq-4.1.2.tar.gz
tar -xvf zeromq-4.1.2.tar.gz
cd zeromq-4.1.2
./configure
make
sudo make install

sudo apt-get install php5-dev php-pear
sudo pecl install zmq-beta

安装4.3 要安装具有草稿支持的 libzmq,请执行以下操作:

	ZMQ_VERSION=4.3.4
	PREFIX=/usr/local
	CPU_COUNT=${CPU_COUNT:-$(python3 -c "import os; print(os.cpu_count())")}
	
 wget 
	tar -xzf libzmq.tar.gz
	cd zeromq-${ZMQ_VERSION}
	./configure --prefix=${PREFIX} --enable-drafts
	make -j${CPU_COUNT} && make install

安装pyzmq

        export ZMQ_PREFIX=${PREFIX}
        export ZMQ_DRAFT_API=1
        pip install -v --no-binary pyzmq --pre pyzmq

windows 使用已编译的版本

      D:\gospace   \mygithub   \goERPS\mqtt\libzmq4.34

http接口示例请查看

服务:goERPs/mqtt /zmq4/example/zerohttpservice.go
监听: goERPs/mqtt /zmq4/example/zerohttpclient.go
测试

			curl --location --request POST '127.0.0.1:3001'  --data-raw '{"title":"hello","content":"worlds"}'
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。