how to share information about a open socket?

Hi, based on the example http://www.boost.org/doc/libs/1_42_0/doc/html/boost_asio/tutorial/tutdaytime..., i wanna to separate the part of the code that open de connection , and the part of the code that write a string over the socket, the problem is , that i have no clear how to share the information of the socket between the both fuctions. In this code below i suppose that listen fucion must to return the socket information, but what data type must the function listen() return??? thanks so much in advance void Agent::listen() { try { printf("SERVER A STARTED UDPsk \n"); boost::asio::io_service io_service; tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), 7777)); //for (;;) { tcp::socket socket(io_service); acceptor.accept(socket); } } catch (std::exception& e) { std::cerr << e.what() << std::endl; } } void Agent::write() { try { std::string message = "mymsg"; boost::system::error_code ignored_error; boost::asio::write(socket, boost::asio::buffer(message), boost::asio::transfer_all(), ignored_error); sleep(1); socket.close(); return; } } catch (std::exception& e) { std::cerr << e.what() << std::endl; } } -- Ing Pedro Alonso Chaparro Valero Ciudad Politecnica de la Innovación iTEAM - Mobile Communications Group Polytechnic University of Valencia C\ Camino de Vera S/N, Edificio 8G 46022 Valencia, Spain

pedro chaparro wrote:
Hi, based on the example
http://www.boost.org/doc/libs/1_42_0/doc/html/boost_asio/tutorial/tutdaytime...,
i wanna to separate the part of the code that open de connection , and the part of the code that write a string over the socket, the problem is , that i have no clear how to share the information of the socket between the both fuctions. In this code below i suppose that listen fucion must to return the socket information, but what data type must the function listen() return??? thanks so much in advance
Both functions seem to be in the same class, so why not share the information through member variables? Regards, Rutger

On 8 March 2010 11:32, pedro chaparro
Hi, based on the example http://www.boost.org/doc/libs/1_42_0/doc/html/boost_asio/tutorial/tutdaytime..., i wanna to separate the part of the code that open de connection , and the part of the code that write a string over the socket, the problem is , that i have no clear how to share the information of the socket between the both fuctions. In this code below i suppose that listen fucion must to return the socket information, but what data type must the function listen() return??? thanks so much in advance
I use a unique_ptr member, e.g.: std::unique_ptrboost::asio::ip::tcp::socket m_socket
participants (3)
-
David Kaplan
-
pedro chaparro
-
Rutger ter Borg