instance method
Addrinfo#connect_to
(::String host, ::Integer port, ?timeout: ::Numeric) { (::Socket) -> void } -> void
(::String host, ::Integer port, ?timeout: ::Numeric) -> ::Socket
(::Addrinfo sockaddr, ?timeout: ::Numeric) { (::Socket) -> void } -> void
(::Addrinfo sockaddr, ?timeout: ::Numeric) -> ::Socket
addrinfo.connect_to([remote_addr_args], [opts]) {|socket| ... }
addrinfo.connect_to([remote_addr_args], [opts])
ext/socket/lib/socket.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/ext/socket/lib/socket.rb, line 163
def connect_to(*args, timeout: nil, &block)
remote_addrinfo = family_addrinfo(*args)
remote_addrinfo.connect_internal(self, timeout, &block)
end
creates a socket connected to remote_addr_args and bound to self.
The optional last argument opts is options represented by a hash. opts may have following options:
- :timeout
-
specify the timeout in seconds.
If a block is given, it is called with the socket and the value of the block is returned. The socket is returned otherwise.
Example
Addrinfo.tcp("0.0.0.0", 4649).connect_to("www.ruby-lang.org", 80) {|s| s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n" puts s.read }
See also
#connect_internal
#family_addrinfo
#connect_from
#getnameinfo
also in
4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0