diff --git a/SourceX/DiabloUI/selgame.cpp b/SourceX/DiabloUI/selgame.cpp index 501611ec4..50e82398f 100644 --- a/SourceX/DiabloUI/selgame.cpp +++ b/SourceX/DiabloUI/selgame.cpp @@ -53,7 +53,7 @@ constexpr UiArtText SELUDPGAME_DESCRIPTION_LABEL = UiArtText("Description:", { P UiListItem SELUDPGAME_DIALOG_ITEMS[] = { { "Create Game", 0 }, - { "Enter IP", 1 }, + { "Join Game", 1 }, }; UiItem SELUDPGAME_DIALOG[] = { MAINMENU_BACKGROUND, @@ -73,7 +73,8 @@ UiItem ENTERIP_DIALOG[] = { SELUDPGAME_TITLE, SELUDPGAME_DESCRIPTION_LABEL, SELGAME_DESCRIPTION, - UiArtText("Enter IP", { PANEL_LEFT + 305, 211, 285, 33 }, UIS_CENTER | UIS_BIG), + UiArtText("Enter address", { PANEL_LEFT + 305, 211, 285, 33 }, UIS_CENTER | UIS_BIG), + UiEdit(selgame_Ip, 128, { PANEL_LEFT + 305, 314, 285, 33 }, UIS_MED | UIS_GOLD), SELGAME_OK, SELGAME_CANCEL, diff --git a/SourceX/dvlnet/tcp_client.cpp b/SourceX/dvlnet/tcp_client.cpp index dac7bcd72..27708f543 100644 --- a/SourceX/dvlnet/tcp_client.cpp +++ b/SourceX/dvlnet/tcp_client.cpp @@ -2,11 +2,14 @@ #include #include +#include #include #include #include #include +#include + namespace dvl { namespace net { @@ -29,8 +32,9 @@ int tcp_client::join(std::string addrstr, std::string passwd) setup_password(passwd); try { - auto ipaddr = asio::ip::make_address(addrstr); - sock.connect(asio::ip::tcp::endpoint(ipaddr, default_port)); + std::stringstream port; + port << default_port; + asio::connect(sock, resolver.resolve(addrstr, port.str())); asio::ip::tcp::no_delay option(true); sock.set_option(option); } catch (std::exception &e) { diff --git a/SourceX/dvlnet/tcp_client.h b/SourceX/dvlnet/tcp_client.h index 30329347f..dbbd580b7 100644 --- a/SourceX/dvlnet/tcp_client.h +++ b/SourceX/dvlnet/tcp_client.h @@ -34,6 +34,7 @@ private: buffer_t recv_buffer = buffer_t(frame_queue::max_frame_size); asio::io_context ioc; + asio::ip::tcp::resolver resolver = asio::ip::tcp::resolver(ioc); asio::ip::tcp::socket sock = asio::ip::tcp::socket(ioc); std::unique_ptr local_server; // must be declared *after* ioc