/** * 发送的消息格式: [000] [006] MDPC01 [004] echo [011] Hello world * * @param service * @param request */ public void send(String service, ZMsg request) { assert (request == null); request.addFirst(service); // 在reqeust前面添加帧 request.addFirst(MDP.C_CLIENT.newFrame()); request.addFirst(""); if (verbose) { log.format("I:send request to '%s' service.\n", service); request.dump(log.out()); } request.send(client); }
public void run() { LOGGER.info("DynamicUtil run()"); String result = "result from dynamic worker"; // getParsedPage(); ZMsg msg = new ZMsg(); msg.addFirst(result); // msg.addFirst(new byte[0]); msg.wrap(sendTo); msg.addFirst(MDP.W_REPLY.newFrame()); msg.addFirst(MDP.DYNAMIC_WORKER.newFrame()); msg.addFirst(new byte[0]); // 这就是dealer与req的不同之处,req在此处会自动加入一个空帧 LOGGER.info("I:sending reply to broker\n" + msg.toString()); System.out.println("I:sending reply to broker\n" + msg.toString()); // msg.dump(log.out()); msg.send(worker); msg.destroy(); }