|
Boost Users : |
Subject: Re: [Boost-users] boost::asio close TCP connection cleany
From: Marco Piacentini (marcopiacenta_at_[hidden])
Date: 2011-03-22 06:43:47
Thanks...I'm in the second scenario...I don't use async call, so in the client
I have 2 thread,1 for read and one for write...both inside an infinite loop...
Ok I catch the EOF error...and after?I have to call close, shutdown..?
________________________________
Da: Igor R <boost.lists_at_[hidden]>
A: boost-users_at_[hidden]
Inviato: Mar 22 marzo 2011, 11:31:21
Oggetto: Re: [Boost-users] boost::asio close TCP connection cleany
> Hy..I've seen in the tutorial that client side disconnect is called simply
> by a break in the read loop.
> I would like to know which is the step-by-step instruction to close
> correctly a TCP connection (both server and client side) and where I have to
> put them.
> I've seen the close and shutdown functions, but I don't know where call
> them.
It depends on the structure of your code and on what you do exactly.
For example, if you've got a chain "send-handler-send-...", and you
use shared_from_this idiom, and this chain ends at some stage of your
program -- you shouldn't do anything more, as your connection object
along with its socket will destroy & close automatically, thanks to
the shared_from_this idiom.
OTOH, if your chain is "infinite", eg. it's a receiving socket, which
should always be listening for incoming data -- then you should close
it explicitly by calling socket.close().
> Finally...what I can do when an EOF error happens??
It means that the connection has been closed.
_______________________________________________
Boost-users mailing list
Boost-users_at_[hidden]
http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net