fix: windows connecting
This commit is contained in:
@@ -23,12 +23,10 @@ bool TCPSocket::Connect(const IPAddress& address, unsigned short port) {
|
|||||||
if (this->GetStatus() == Connected)
|
if (this->GetStatus() == Connected)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
struct addrinfo hints = { 0 }, * result = nullptr;
|
struct addrinfo hints{};
|
||||||
|
memset(&hints, 0, sizeof(addrinfo));
|
||||||
|
|
||||||
if ((m_Handle = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
|
struct addrinfo* result = nullptr;
|
||||||
std::cerr << "Failed to create socket !\n";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
hints.ai_family = AF_INET;
|
hints.ai_family = AF_INET;
|
||||||
hints.ai_socktype = SOCK_STREAM;
|
hints.ai_socktype = SOCK_STREAM;
|
||||||
@@ -39,11 +37,18 @@ bool TCPSocket::Connect(const IPAddress& address, unsigned short port) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((m_Handle = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
|
||||||
|
std::cerr << "Failed to create socket !\n";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
struct addrinfo* ptr = nullptr;
|
struct addrinfo* ptr = nullptr;
|
||||||
for (ptr = result; ptr != nullptr; ptr = ptr->ai_next) {
|
for (ptr = result; ptr != nullptr; ptr = ptr->ai_next) {
|
||||||
struct sockaddr_in* sockaddr = (struct sockaddr_in*)ptr->ai_addr;
|
struct sockaddr_in* sockaddr = (struct sockaddr_in*)ptr->ai_addr;
|
||||||
if (::connect(m_Handle, (struct sockaddr*)sockaddr, sizeof(struct sockaddr_in)) != 0)
|
if (::connect(m_Handle, (struct sockaddr*)sockaddr, sizeof(struct sockaddr_in)) != 0) {
|
||||||
|
std::cerr << "Failed to connect with this address !\n";
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
m_RemoteAddr = *sockaddr;
|
m_RemoteAddr = *sockaddr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ void renderMainMenu() {
|
|||||||
if (!startServer(port, worldFilePath)) {
|
if (!startServer(port, worldFilePath)) {
|
||||||
triedToCreate = true;
|
triedToCreate = true;
|
||||||
} else {
|
} else {
|
||||||
client->connect("localhost", port);
|
client->connect("127.0.0.1", port);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (triedToCreate)
|
if (triedToCreate)
|
||||||
|
|||||||
Reference in New Issue
Block a user