[zeromq-dev] Reconnect doesn't work for Push-pull socket if push server goes down unsafely

Pieter Hintjens pieterh at gmail.com
Sat Sep 29 11:32:15 CEST 2012


Thanks, will you make an issue for this?
On Sep 28, 2012 2:58 PM, "Sunil khatri" <sunil.ncb at gmail.com> wrote:

> Scenario:
> Start a push server bind on tcp transport. Start a pull client which
> connects to above tcp endpoint. Wait for 5 seconds. Kill the server. Now if
> I restart the server again client is not re-connecting.
> When I check netstat -antp, connection remains in close_wait state.
>
> This case works fine with version-2.2.
> Test code:
>
> ====
> ///zmq_s.cpp
> #include <zmq.hpp>
>
> //using namespace zmq;
> zmq::context_t g_zmqcontext(1);
> int main()
> {
>         try{
>         zmq::socket_t s1(g_zmqcontext, ZMQ_PUSH);
>         s1.bind("tcp://*:5556");
>         int i=0;
>                 while(1){
>                         char str[100];
>                         sprintf(str, "Hi-%d", i++);
>                         zmq::message_t msg(strlen(str));
>                         memcpy(msg.data(), str, strlen(str)+1);
>                         puts("Sending message");
>                         s1.send(msg);
>                         puts("Send done");
>                 }
>         }catch(zmq::error_t &e){
>                 printf("Error :%d-%s\n", e.num(), e.what());
> fflush(stdout);
>         }
> }
> --------------------
>
> //zmq_c.cpp
> #include <zmq.hpp>
>
> zmq::context_t g_zmqContext(1);
> int main(){
>         try{
>                 zmq::socket_t s2(g_zmqContext, ZMQ_PULL);
>                 s2.connect("tcp://127.0.0.1:5556");
>                 while(1){
>                         zmq::message_t msg;
>                         puts("Waiting for message");
>                         s2.recv(&msg);
>                         printf("Msg received: %s\n", msg.data());
> fflush(stdout);
>                         usleep(1);
>                 }
>         }catch(zmq::error_t &e){
>                 printf("Err:%s-%d\n", e.num(), e.what()); fflush(stdout);
>         }
> }
>
> ==============
>
> Regards
> Sunil Kharti
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20120929/a6e013e9/attachment.html>


More information about the zeromq-dev mailing list