Boost logo

Boost Users :

Subject: Re: [Boost-users] Async_accept
From: Marco Piacentini (marcopiacenta_at_[hidden])
Date: 2011-03-03 06:44:09


Ok thanks...now I'm starting with an iterative server which serves one request at a time. boost::asio::ip::tcp::acceptor acceptor(io_service); boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), port); acceptor.open(endpoint.protocol()); int listensd=acceptor.native(); acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true)); acceptor.bind(endpoint); acceptor.listen(3); while(1) { acceptor.accept(sock); sock.write_some(boost::asio::buffer(data, data.size())); int connectsd=sock.native(); sock.close(); } If I would make concurrent this server, when I have to work? In C it is enough to make: int listen sd,connsd; //socket descriptor pid_t pid; listensd=socket(...); bind(listensd,...); listen(listensd,..); for(;;) { connsd=accept(listensd,..); if((pid=fork())==0) //child process { close(listensd); //close the listening socket do_it(connsd); //serve th request close(connsd); //close the connection socket exit(0); } close(connsd); //parent close the connection socket } I don't knwo how make thisin boost...any ideas?thanks ________________________________ Da: Rutger ter Borg <rutger_at_[hidden]> A: boost-users_at_[hidden] Inviato: Gio 3 marzo 2011, 10:26:36 Oggetto: Re: [Boost-users] Async_accept On 03/03/2011 10:13 AM, Marco Piacentini wrote: > Hi guys... > Reading docs, I understand that acceptor.async_accept(), accept a > connection and immediately return, so the acceptor can accept another > concurrent connection request...and in the meanwhile the handler can > process the request...it's right? No, the asynchronous model works different: you issue a request for an operation, such as async_accept, and your program will be called back when that operation has been completed (or aborted). In this case, the handler will be invoked after your request for accepting a connection has been completed. Asio will not start accepting another connecting until you issue another request, which should be done after your previous request has been completed. HtH, Cheers, Rutger _______________________________________________ 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