struct Socket::IPAddress
Overview
IP address representation.
Holds a binary representation of an IP address, either translated from a
String, or directly received from an opened connection (e.g.
Socket#local_address, Socket#receive).
Example:
Socket::IPAddress.new("127.0.0.1", 8080)
Socket::IPAddress.new("fe80::2ab2:bdff:fe59:8e2c", 1234)
IPAddress won't resolve domains, including localhost. If you must
resolve an IP, or don't know whether a String constains an IP or a domain
name, you should use Addrinfo.resolve instead.
Defined in:
socket/address.crConstructors
-
.from(sockaddr : Pointer(LibC::Sockaddr), addrlen) : IPAddress
Creates an
IPAddressfrom the internal OS representation. - .new(address : String, port : Int32)
- .new(sockaddr : Pointer(LibC::SockaddrIn6), size)
- .new(sockaddr : Pointer(LibC::SockaddrIn), size)
-
.parse(uri : URI) : IPAddress
Parses a
Socket::IPAddressfrom an URI.
Class Method Summary
-
.parse(uri : String)
Parses a
Socket::IPAddressfrom an URI.
Instance Method Summary
- #==(other : IPAddress)
-
#address
Returns a
Stringrepresentation of the IP address. - #port : Int32
- #to_s(io)
- #to_unsafe : Pointer(LibC::Sockaddr)
Instance methods inherited from struct Socket::Address
==(other)
==,
family : Family
family,
size : Int32
size,
to_unsafe : Pointer(LibC::Sockaddr)
to_unsafe
Constructor methods inherited from struct Socket::Address
from(sockaddr : Pointer(LibC::Sockaddr), addrlen) : Address
from,
new(family : Family, size : Int32)
new
Class methods inherited from struct Socket::Address
parse(uri : URI)parse(uri : String) parse
Instance methods inherited from struct Struct
==(other) : Bool
==,
hash(hasher)
hash,
inspect(io : IO) : Nil
inspect,
pretty_print(pp) : Nil
pretty_print,
to_s(io)
to_s
Instance methods inherited from struct Value
==(other : JSON::Any)==(other : YAML::Any)
==(other) ==, dup dup
Instance methods inherited from class Object
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, class class, dup dup, hash(hasher)
hash hash, inspect(io : IO)
inspect inspect, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) tap, to_json(io : IO)
to_json to_json, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ") to_pretty_json, to_s
to_s(io : IO) to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&block) try, unsafe_as(type : T.class) forall T unsafe_as
Constructor methods inherited from class Object
from_json(string_or_io, root : String) : selffrom_json(string_or_io) : self from_json, from_yaml(string_or_io : String | IO) : self from_yaml
Constructor Detail
Creates an IPAddress from the internal OS representation. Supports both
INET and INET6 families.
Parses a Socket::IPAddress from an URI.
It expects the URI to include where scheme as
well as any additional URI components (such as path or query) are ignored.
host must be an IP address (v4 or v6), otherwise Socket::Error will be
raised. Domain names will not be resolved.
Socket::IPAddress.parse("tcp://127.0.0.1:8080") # => Socket::IPAddress.new("127.0.0.1", 8080)
Socket::IPAddress.parse("udp://[::1]:8080") # => Socket::IPAddress.new("::1", 8080)Class Method Detail
Parses a Socket::IPAddress from an URI.
It expects the URI to include where scheme as
well as any additional URI components (such as path or query) are ignored.
host must be an IP address (v4 or v6), otherwise Socket::Error will be
raised. Domain names will not be resolved.
Socket::IPAddress.parse("tcp://127.0.0.1:8080") # => Socket::IPAddress.new("127.0.0.1", 8080)
Socket::IPAddress.parse("udp://[::1]:8080") # => Socket::IPAddress.new("::1", 8080)