Hi,
socket_t::getsockopt() seems to erroneously report 'ZMQ_RCVMORE', but only in a
Boost Unit Test!
Here' my Boost Unit Test code:
#define BOOST_TEST_MODULE MyTest
#include <boost/test/unit_test.hpp>
#include <iostream>
#include <zmq.hpp>
#include "zhelpers.hpp" //copied from the zguide examples directory
BOOST_AUTO_TEST_CASE( MyTest )
{
zmq::context_t context (1);
zmq::socket_t subscriber (context, ZMQ_SUB);
subscriber.connect("tcp://localhost:5556");
subscriber.setsockopt(ZMQ_SUBSCRIBE, NULL, 0);
s_dump(subscriber);
}
-The above gets stuck in s_dump(), waiting to receive for another message part
that never arrives.
-If I move the guts of BOOST_AUTO_TEST_CASE() into a regular main(), it's fine!
Here's the server-side code:
#include <zmq.hpp>
#include <stdlib.h>
#include <iostream>
#include "zhelpers.hpp"
int main() {
zmq::context_t context (1);
uint8_t *data = new uint8_t[1024];
zmq::socket_t sock (context, ZMQ_PUB);
sock.bind("tcp://*:5556);
sleep(2);
zmq::message_t message(1024);
memcpy(message.data(), data, 1024);
bool rc = sock.send(message);
return 0;
}
I'm new to Boost and 0MQ. Maybe I've done something silly?
Any help would be most appreciated.
0MQ Version: 3.2.0
Boost Library Version: 1.51.0
Cheers,
Daniel
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev