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