mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 22:45:07 +00:00
GSocket: Add a connect() overload that takes a hostname instead of an IP.
This commit is contained in:
parent
ff93d3f362
commit
76ce68ac48
2 changed files with 15 additions and 0 deletions
|
@ -3,6 +3,7 @@
|
|||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <stdio.h>
|
||||
#include <netdb.h>
|
||||
|
||||
GSocket::GSocket(Type type, GObject* parent)
|
||||
: GIODevice(parent)
|
||||
|
@ -14,6 +15,19 @@ GSocket::~GSocket()
|
|||
{
|
||||
}
|
||||
|
||||
bool GSocket::connect(const String& hostname, int port)
|
||||
{
|
||||
auto* hostent = gethostbyname(hostname.characters());
|
||||
if (!hostent) {
|
||||
dbgprintf("GSocket::connect: Unable to resolve '%s'\n", hostname.characters());
|
||||
return false;
|
||||
}
|
||||
|
||||
IPv4Address host_address((const byte*)hostent->h_addr_list[0]);
|
||||
dbgprintf("GSocket::connect: Resolved '%s' to %s\n", hostname.characters(), host_address.to_string().characters());
|
||||
return connect(host_address, port);
|
||||
}
|
||||
|
||||
bool GSocket::connect(const GSocketAddress& address, int port)
|
||||
{
|
||||
ASSERT(!is_connected());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue