小编Vpa*_*ino的帖子

如何使用 cppzmq 将 ZeroMQ 消息从 ROUTER 套接字发送到特定的 DEALER 套接字?

我已经将这个最小的示例放在一起,以便将消息从路由器套接字发送到特定的DEALER socker(具有其身份集)。当运行这两个程序时,它似乎挂在ROUTER上等待来自DEALER的答复,并且DEALER挂起等待来自ROUTER的请求。因此,看起来ROUTER发送的消息永远不会到达DEALER

\n\n

路由器.cpp

\n\n
#include <iostream>\n#include <zmq.hpp>\n#include <string>\n#include <thread>\n#include <chrono>\n\nint main() {\n    zmq::context_t context;\n    zmq::socket_t socket (context, zmq::socket_type::router);\n    // Enforce sending routable messages only\n    socket.setsockopt(ZMQ_ROUTER_MANDATORY, 1);\n    socket.bind("tcp://*:5555");\n\n    try {\n        std::string jobRequest = "ExampleJobRequest";\n\n        std::cout << "Router: Sending msg: " << jobRequest << std::endl;\n\n        // Set the address, then the empty delimiter and then the request itself\n        socket.send("PEER2", ZMQ_SNDMORE);\n        //socket.send(zmq::message_t(), ZMQ_SNDMORE);\n        socket.send(zmq::str_buffer("ExampleJobRequest")) ;\n\n        // Set the address, then the …
Run Code Online (Sandbox Code Playgroud)

c++ sockets zeromq

7
推荐指数
1
解决办法
3510
查看次数

我如何使用 ZeroMQ 为协议缓冲区编写自己的 RPC 实现

根据“定义服务”下的 Google Protocol Buffers 文档,他们说,

也可以在您自己的 RPC 实现中使用协议缓冲区。

据我了解,Protocol Buffers 本身并没有实现 RPC。相反,它们提供了一系列必须由用户实现的抽象接口(就是我!)。所以我想利用 ZeroMQ 实现这些抽象接口进行网络通信。

我正在尝试使用 ZeroMQ 创建一个 RPC 实现,因为我正在处理的项目已经实现了用于基本消息传递的 ZeroMQ(因此我使用 gRPC,正如文档所建议的那样)。

在通读 proto 文档后,我发现我必须为自己的实现实现抽象接口RpcChannelRpcController

我已经构建了一个最小化的例子,说明我目前的 RPC 实现

.proto 文件为简洁起见省略了 SearchRequest 和 SearchResponse 架构

service SearchService {
    rpc Search (SearchRequest) returns (SearchResponse);
}
Run Code Online (Sandbox Code Playgroud)

SearchServiceImpl.h :

class SearchServiceImpl : public SearchService {
 public:
  void Search(google::protobuf::RpcController *controller,
                    const SearchRequest *request,
                    SearchResponse *response,
                    google::protobuf::Closure *done) override {
    // Static function that processes the request …
Run Code Online (Sandbox Code Playgroud)

c++ rpc protocol-buffers zeromq

6
推荐指数
1
解决办法
1001
查看次数

标签 统计

c++ ×2

zeromq ×2

protocol-buffers ×1

rpc ×1

sockets ×1