Boost Asio Sockets



  • #include <iostream>
    #include <boost/asio.hpp>
    #include <cstdlib>
    
    int main(int argc, char* argv[])
    {
    	if (argc < 3)
    	{
    		std::cout << "Der dritte Parameter fehlt.\n";
    		std::cout << "<IP-Adresse>  <Port>\n";
    		std::cout << std::endl;
    		return 1; // Fehlercode 1 wenn Parameter zahl fehlt
    	}
    	else if (argc > 3)
    	{
    		std::cout << "Zusätzliche Parameter wurden gefunden.\n";
    		std::cout << "<IP-Adresse>  <Port>\n";
    		std::cout << std::endl;
    		return 2; // Fehlercode 2 wenn Parameter zahl zuviel
    	}
    	const size_t bufSize = 80;
    	char buf[bufSize + 1];
    	unsigned port = atoi(argv[2]);
    	boost::asio::io_service io_service; // ? was macht io_service??
    	boost::asio::ip::tcp::socket socket(io_service); // ? was macht io_service bzw was macht socket mit io_service??
    	boost::asio::ip::tcp::endpoint server(boost::asio::ip::address::from_string(argv[1]), port);
    	socket.connect(server);
    	std::cout << "Lokale Verbindung aufgebaut mit: " << socket.local_endpoint() << std::endl;
    	std::cout << "Verbindung zum Server mit der IP:" << socket.remote_endpoint() << " hergestellt." << std::endl;
    	const size_t anzahlDerEmpfangenenBytes = socket.read_some(boost::asio::buffer(buf, bufSize));
    	buf[anzahlDerEmpfangenenBytes] = '\0';
    	std::cout << buf << std::endl; // Empfangene Daten vom Socket lesen
    }
    

    Frage steht im Source Code (Kommentare)





  • Oder wenn es auf Deutsch sein soll :

    http://www.highscore.de/cpp/boost/asio.html
    

Anmelden zum Antworten