From dc33e30823e38968688e683ad772b685c5797711 Mon Sep 17 00:00:00 2001 From: George Fotopoulos Date: Sun, 3 Dec 2023 18:01:52 +0200 Subject: [PATCH] Refactor Main.cpp --- src/Main.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/Main.cpp b/src/Main.cpp index 4e93c67..03ffb45 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -74,15 +74,14 @@ int main(int argc, char *argv[]) { if (protocol == "tcp") { boost::asio::io_context io_service; - boost::asio::ip::tcp::resolver resolver(io_service); - boost::asio::ip::tcp::resolver::query query(host, "0"); - boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve(query); - std::map> sockets; for (unsigned int port = portBegin; port <= portEnd; port++) { + boost::asio::ip::tcp::resolver resolver(io_service); + boost::asio::ip::tcp::resolver::query query(host, std::to_string(port)); + boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve(query); + auto socket = std::make_unique(io_service); - boost::asio::ip::tcp::endpoint endpoint(iterator->endpoint().address(), port); - socket->async_connect(endpoint, [&sockets, port, protocol, show](const boost::system::error_code& error)-> void { + socket->async_connect(iterator->endpoint(), [port, protocol, show](const boost::system::error_code& error)-> void { if (!error) { if (show != "closed") { std::cout << "Port " << port << "/" << protocol << " is open." << std::endl; @@ -92,7 +91,6 @@ int main(int argc, char *argv[]) { std::cout << "Port " << port << "/" << protocol << " is closed." << std::endl; } } - sockets.erase(port); }); sockets.emplace(port, std::move(socket)); }