If the client closes its socket, the server will drop the reply, I think.
You won't get an error in the server.

On 20 Sep 2010 20:43, "yy l" <[email protected]> wrote:
> Thank you very much!
>
> But what I ask is, simply to say, if must use TCP REQ/REP pattern,
>
> the client send a REQ and then close socket and don't connect the server
> again,
>
> the server receive the REQ and handle it, send the REP, but now the
> client do not exist,
>
> will the server's zmq resend the REP or release the resource associated
with
> the tcp connection?
>
>
>
>
> 2010/9/20 Chuck Remes <[email protected]>
>
>> On Sep 19, 2010, at 8:00 AM, liyongyan wrote:
>>
>> Can I ask another question?
>> I use the zmq_poll() in REQ-REP pattern
>> When the client send a Req and then wait for res from the server ,
>> but the Res can not reach the client in time for some reasons(for
example,
>> handle the Req for a long time),
>> then the client wait timeout, now how to handle the socket?
>> If I call the zmq_close() and next time when send a Req I build another
>> socket and connect server again,
>> what happen after the server send the delayed Res? What will server do in
>> ZMQ with the former connection to the client?
>> Will the server release the related resource assigned to the former
>> connection?
>>
>>
>> Timeouts are not handled by 0mq. You must create the logic in your
>> application to deal with these issues yourself.
>>
>> This may be covered in the user guide. Check
>> http://zguide.zeromq.org/chapter:1
>>
>> If not, here is how I would suggest you try to handle this in your
>> application.
>>
>> 1. Use a XREP socket on your server. The XRE? sockets do *not* enforce a
>> strict send/recv ordering like the REQ/REP sockets.
>>
>> 2. After you call zmq_close() on the original REQ socket that timed out,
>> make sure that the *new* REQ socket you build has the same identity as
the
>> old one. I *think* 0mq will honor that (use zmq_setsockopt(IDENTITY, x)
to
>> set it) for routing a delayed response back to you. Again, your
application
>> will need to know how to handle a delayed response.
>>
>> 3. When you call zmq_close() on a socket now, any messages in progress
will
>> be dropped. 0mq releases all resources associated with the now dead
socket.
>>
>> cr
>>
>>
>>
>> _______________________________________________
>> 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

Reply via email to