1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
   | // Création du service principal et du résolveur.
    boost::asio::io_service ios;
 
    // Création de l'acceptor avec le port d'écoute 30000 et une adresse quelconque de type IPv4 // (1)
    tcp::acceptor acceptor(ios, tcp::endpoint(tcp::v4(), 30000));
 
    char buffer[256];
 
    // Création d'une socket
    tcp::socket socket(ios); // (3)
 
    while(1){
    	std::cout << "en attente du client..." << std::endl;
    	acceptor.accept(socket); // on attend qu'un client se connect
    	std::cout << "Client connected ! " << std::endl;	
 
    	while (acceptor.is_open())
	    {
	    	try{
	    		boost::asio::read(socket, boost::asio::buffer(buffer));	
	    	}
	    	catch(std::exception& e){
 
	    		std::cout << "client left" << std::endl;
	    		acceptor.close();
	    		break;
	    	}
 
	        std::string message = buffer;
	        std::cout << "message recu : " << message << std::endl;
	    }
    } | 
Partager