HISTORIA934 2025-04-29 15:15 采纳率: 0%
浏览 6

ZeroMQ链接对方IP

我现在需要实现两台电脑之间的信息交互,两个代码都会接入同一个网址进行实时仿真
如何使用 ZeroMQ 中间件连接对方笔记本 IP,订购敌方无人机实体数据?

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-04-29 15:15
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    ZeroMQ链接对方IP

    你想使用 ZeroMQ 中间件实现两台电脑之间的实时仿真,订购敌方无人机实体数据。 ZeroMQ 是一个分布式消息队列中间件,可以帮助你实现异步通信和消息传递。

    首先,你需要在两个电脑上安装 ZeroMQ 库,然后使用 ZeroMQ 的 socket API 创建一个 socket 对象。下面是一个简单的示例代码:

    #include <zmq.h>
    
    int main() {
        // 创建一个 ZeroMQ socket 对象
        void *context = zmq_ctx_new();
        void *socket = zmq_socket(context, ZMQ_REQ);
    
        // 设置 socket 的地址和端口
        char *address = "tcp://localhost:5555";
        zmq_bind(socket, address);
    
        // 发送消息到对方电脑
        char *message = "Hello, enemy drone!";
        zmq_send(socket, message, strlen(message), 0);
    
        // 接收对方电脑的回应
        char *reply = (char *)zmq_recv(socket, NULL, 0, ZMQ_DONTWAIT);
        printf("Received reply: %s\n", reply);
    
        // 关闭 socket 和 context
        zmq_close(socket);
        zmq_ctx_destroy(context);
        return 0;
    }
    

    在上面的代码中,我们创建了一个 ZeroMQ socket 对象,然后使用 zmq_bind 函数将 socket 绑定到 localhost:5555 地址上。然后,我们使用 zmq_send 函数将消息发送到对方电脑。最后,我们使用 zmq_recv 函数接收对方电脑的回应。

    在对方电脑上,你需要创建一个 ZeroMQ socket 对象,然后使用 zmq_connect 函数连接到 localhost:5555 地址上。然后,你可以使用 zmq_recv 函数接收消息,并使用 zmq_send 函数回应对方电脑。

    需要注意的是,ZeroMQ 中间件需要在两个电脑上安装和配置正确,才能实现实时仿真和消息传递。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月29日