class Gio::NetworkAddress
- Gio::NetworkAddress
- GObject::Object
- Reference
- Object
Overview
#GNetworkAddress provides an easy way to resolve a hostname and then attempt to connect to that host, handling the possibility of multiple IP addresses and multiple address families.
The enumeration results of resolved addresses may be cached as long as this object is kept alive which may have unexpected results if alive for too long.
See #GSocketConnectable for an example of using the connectable interface.
Included Modules
Defined in:
lib/gi-crystal/src/auto/gio-2.0/network_address.crConstructors
-
.new(hostname : String, port : UInt16) : self
Creates a new #GSocketConnectable for connecting to the given @hostname and @port.
-
.new
Initialize a new
NetworkAddress
. - .new(*, hostname : String? = nil, port : UInt32? = nil, scheme : String? = nil)
-
.new_loopback(port : UInt16) : self
Creates a new #GSocketConnectable for connecting to the local host over a loopback connection to the given @port.
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#hostname : String
Gets @addr's hostname.
- #hostname=(value : String) : String
- #parse(host_and_port : String, default_port : UInt16) : Gio::NetworkAddress
- #parse_uri(uri : String, default_port : UInt16) : Gio::NetworkAddress
-
#port : UInt16
Gets @addr's port number
- #port=(value : UInt32) : UInt32
-
#scheme : String?
Gets @addr's scheme
- #scheme=(value : String) : String
Instance methods inherited from module Gio::SocketConnectable
enumerate : Gio::SocketAddressEnumerator
enumerate,
proxy_enumerate : Gio::SocketAddressEnumerator
proxy_enumerate,
to_string : String
to_string,
to_unsafe
to_unsafe
Class methods inherited from module Gio::SocketConnectable
g_type : UInt64
g_type
Instance methods inherited from class GObject::Object
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
cast?(obj : GObject::Object) : self?
cast?,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
compat_control(what : UInt64, data : Pointer(Void)?) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Constructor Detail
Creates a new #GSocketConnectable for connecting to the given @hostname and @port.
Note that depending on the configuration of the machine, a
@hostname of localhost
may refer to the IPv4 loopback address
only, or to both IPv4 and IPv6; use
g_network_address_new_loopback() to create a #GNetworkAddress that
is guaranteed to resolve to both addresses.
Creates a new #GSocketConnectable for connecting to the local host over a loopback connection to the given @port. This is intended for use in connecting to local services which may be running on IPv4 or IPv6.
The connectable will return IPv4 and IPv6 loopback addresses,
regardless of how the host resolves localhost
. By contrast,
g_network_address_new() will often only return an IPv4 address when
resolving localhost
, and an IPv6 address for localhost6
.
g_network_address_get_hostname() will always return localhost
for
a #GNetworkAddress created with this constructor.
Class Method Detail
Instance Method Detail
Gets @addr's hostname. This might be either UTF-8 or ASCII-encoded, depending on what @addr was created with.