Hi: Thanks! It works. But the speed of PGM is too slow. Using TCP, I can send 2000 tick per second, 1.6Mbps. Using PGM, I just send 120 tick per second( the same program). Base on the http://api.zeromq.org/3-2:zmq-setsockopt, I set int rate = 5000; rc = zmq_setsockopt (s, ZMQ_RATE, &rate, sizeof(int)); to change the speed of PGM. But it doesn't work. Where should I do?
Sincerely Liwei Chour in OFFICe -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Pieter Hintjens Sent: Tuesday, September 03, 2013 5:00 PM To: ZeroMQ development list Subject: Re: [zeromq-dev] How to use the PGM - make sure you're using "pgm://" and not "pmg://" - do you have compatible network switches? - try using epgm to see if that works - publisher and subscriber must be on different hosts -Pieter On Tue, Sep 3, 2013 at 8:36 AM, 仇立偉 <[email protected]> wrote: > Hi: > > I use the PUB-SUB pattern in my program. When I use the TCP protocol, It > works fine. But I change to the PGM protocol(using the same code), I can > send data, but can’t receive any data. Following are the Code > > > > //Sender Code > > ctx = zmq_init (1); > > s = zmq_socket (ctx, ZMQ_PUB); > > rc = zmq_bind (s, "tcp://192.168.12.100:8888”); > > for (i = 0; i != 1000; i++) { > > rc = zmq_msg_init_size (&msg, 50); > > unsigned char *msg_point = (unsigned char *)zmq_msg_data(&msg); > > memcpy(msg_point, (unsigned char *)&order, sizeof(unsigned int)); > > rc = zmq_sendmsg (s, &msg, 0); > > rc = zmq_msg_close (&msg); > > order++; > > } > > rc = zmq_close (s); > > rc = zmq_term (ctx); > > > > //Receive Code > > ctx = zmq_init (1); > > s = zmq_socket (ctx, ZMQ_SUB); > > rc = zmq_connect (s, "tcp://192.168.12.100:8888”); > > rc = zmq_setsockopt (s, ZMQ_SUBSCRIBE, "", 0); > > rc = zmq_msg_init_size (&msg, message_size); > > while(1) { > > rc = zmq_recvmsg (s, &msg, 0); > > unsigned char *msg_point = (unsigned char *)zmq_msg_data(&msg); > > memcpy((unsigned char *)&order, msg_point, sizeof(unsigned int)); > > print(“Get size=%d order=%d\n”, rc,order); > > } > > rc = zmq_close (s); > > rc = zmq_term (ctx); > > > > If I change “tcp://192.168.12.100:8888” to > “pmg://192.168.12.100;239.192.1.1:8888”, it doesn’t work. Where do I make a > mistake? > > My platform is Windows 7 64bit and Using VS 2008. The PGM library download > from http://miru.hk/openpgm/ > > > > Sincerely > > Liwei Chour in OFFICe > > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
