Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Result<Socket> Socket::ConnectTo(const std::string& host, uint16_t port) {
- std::cout << "Connect\n";
- auto io_context = GetCurrentScheduler()->GetCurrentIOContext();
- asio::ip::tcp::resolver resolver(*io_context);
- asio::ip::tcp::socket socket(*io_context);
- asio::error_code error;
- auto entries = resolver.resolve(host, std::to_string(port), error);
- for (const auto& entry: entries) {
- const auto& endpoint = entry.endpoint();
- if(!socket.is_open()) {
- socket.open(endpoint.protocol(), error);
- }
- socket.connect(endpoint, error);
- if(!error) {
- return make_result::Ok(Socket(std::move(socket)));
- }
- }
- std::cout << error << std::endl;
- return make_result::Fail(error);
- }
- Result<Socket> Socket::ConnectToLocal(uint16_t port) {
- return ConnectTo("localhost", port);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement