Giriş
Açıklaması şöyle
Okuma için kullanılır. Şöyle yaparız.
Veriyi göndermek için kullanılır. Belirtilen byte kadar bellek ayırır.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Örnek
std::string'i kopyalamak için şöyle yaparız.
std::string'e kopyalamak için şöyle yaparız.
Mesajın içindeki belleğin büyüklüğünü döner.
str metodu
Şöyle yaparız. Mesajı string'e çevirir. Mesaj 1000 karakterden büyükse çıktı olarak hata mesajı verir.
Açıklaması şöyle
ZMQ is geared up as a transport-agnostic general purpose message passing system with some useful patterns like pub/sub, etc. It simply shifts bytes around your network / programs / threads, and it is entirely up to you what those bytes mean. Many people use a serialisation technology like Google Protocol Buffers on top of ZMQ to "make those bytes mean something sensible everywhere".Açıklaması şöyle. Mesaj geldiyse bütün olarak gelmiştir.
ZeroMQ does never deliver a piece of trash. It delivers either a complete message( as it was sent ) or nothing at all. This principal design feature helps to sort out one of the claimed potential issues.Constructor - default
If an application indeed receives a ZeroMQ message delivered, one can be sure of its being of a shape and sound copy of what has been dispatched from the remote process. It is simply the same. Pullstop.
Okuma için kullanılır. Şöyle yaparız.
zmq::socket_t socket (context, ZMQ_REQ);
...
zmq::message_t msg;
socket.recv(&msg);
Constructor - number of bytesVeriyi göndermek için kullanılır. Belirtilen byte kadar bellek ayırır.
Örnek
Şöyle yaparız.
zmq::message_t msg (5);
ÖrnekŞöyle yaparız.
// Ask for the subport
zmq::message_t msg (8);
memcpy (msg.data(), "SUB_PORT", 8);
socket.send(msg);
Örnek
Şöyle yaparız.
Mesajın içindeki belleğe erişmek için kullanılır.Şöyle yaparız.
std::string str = ...;
zmq::message_t msg(str.length());
memcpy(msg.data(), str.data(), str.length());
socket.send(msg, ZMQ_SNDMORE);
data metoduÖrnek
std::string'i kopyalamak için şöyle yaparız.
std::string str = "...";
zmq::message_t msg (str.size());
memcpy ((void *) msg.data (), mstr.c_str(), str.size());
Örnekstd::string'e kopyalamak için şöyle yaparız.
zmq::message_t msg;
socket.recv(&msg);
std::string str = std::string(static_cast<char*>(msg.data()), msg.size());
size metoduMesajın içindeki belleğin büyüklüğünü döner.
str metodu
Şöyle yaparız. Mesajı string'e çevirir. Mesaj 1000 karakterden büyükse çıktı olarak hata mesajı verir.
zmq::message_t msg;
// read some data...
std::string smessage = msg.str();
Hiç yorum yok:
Yorum Gönder