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 = nil, port : UInt32 | Nil = nil, scheme : String | Nil = 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
-
#==(other : self)
Returns
true
if this reference is the same as other. -
#hash(hasher)
See
Object#hash(hasher)
-
#hostname : String
Gets addr's hostname.
- #hostname=(value : String) : String
-
#hostname=(value : Nil) : Nil
Set
#hostname
property to nil. -
#hostname? : String | Nil
Same as
#hostname
, but can return nil. - #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 | Nil
Gets addr's scheme
- #scheme=(value : String) : String
-
#scheme=(value : Nil) : Nil
Set
#scheme
property to nil. -
#scheme? : String | Nil
Same as
#scheme
, but can return nil.
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
Constructor methods inherited from module Gio::SocketConnectable
cast(obj : GObject::Object) : self
cast
Class methods inherited from module Gio::SocketConnectable
cast?(obj : GObject::Object) : self | Nil
cast?,
g_type : UInt64
g_type
Instance methods inherited from class GObject::Object
==(other : self)
==,
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) | Nil
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
hash(hasher)
hash,
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) | Nil
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void) | Nil) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void) | Nil
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void) | Nil
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,
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
cast?(obj : GObject::Object) : self | Nil
cast?,
compat_control(what : UInt64, data : Pointer(Void) | Nil) : 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
Macros inherited from class GObject::Object
previous_vfunc(*args)
previous_vfunc,
previous_vfunc!(*args)
previous_vfunc!,
signal(signature)
signal
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
Returns the type id (GType) registered in GLib type system.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.
Gets addr's hostname. This might be either UTF-8 or ASCII-encoded, depending on what addr was created with.