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:
require "socket"
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.
"255.255.255.255" "ff0X::1" "127.0.0.1" "::1" "0.0.0.0" "::" Creates an IPAddress from the internal OS representation.
Parses a Socket::IPAddress from an URI.
Parses a Socket::IPAddress from an URI.
Returns a String representation of the IP address.
Appends this struct's name and instance variables names and values to the given IO.
Returns true if this IP is a loopback address.
Same as #inspect(io).
Returns true if this IP is an unspecified address, either the IPv4 address 0.0.0.0 or the IPv6 address ::.
Socket::Address
Socket::Address
Socket::Address
Struct
Value
Object
Object
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.
require "socket"
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) 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.
require "socket"
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) Returns a String representation of the IP address.
Example:
ip_address = socket.remote_address ip_address.address # => "127.0.0.1"
Appends this struct's name and instance variables names and values to the given IO.
struct Point def initialize(@x : Int32, @y : Int32) end end p1 = Point.new 1, 2 p1.to_s # "Point(@x=1, @y=2)" p1.inspect # "Point(@x=1, @y=2)"
Returns true if this IP is a loopback address.
In the IPv4 family, loopback addresses are all addresses in the subnet 127.0.0.0/24. In IPv6 ::1 is the loopback address.
Same as #inspect(io).
Returns true if this IP is an unspecified address, either the IPv4 address 0.0.0.0 or the IPv6 address ::.
© 2012–2020 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/0.35.1/Socket/IPAddress.html