End of Life Ruby 3.2 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
instance method
Addrinfo#connect_from
addrinfo.connect_from([local_addr_args], [opts]) {|socket| ... }
addrinfo.connect_from([local_addr_args], [opts])
ext/socket/lib/socket.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.2.0/ext/socket/lib/socket.rb, line 117
def connect_from(*args, timeout: nil, &block)
connect_internal(family_addrinfo(*args), timeout, &block)
end
creates a socket connected to the address of self.
If one or more arguments given as local_addr_args, it is used as the local address of the socket. local_addr_args is given for family_addrinfo to obtain actual address.
If local_addr_args is not given, the local address of the socket is not bound.
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("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s| s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n" puts s.read } # Addrinfo object can be taken for the argument. Addrinfo.tcp("www.ruby-lang.org", 80).connect_from(Addrinfo.tcp("0.0.0.0", 4649)) {|s| s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n" puts s.read }
See also
#connect
#connect_internal
#canonname
#connect_to
also in
4.1 · 4.0 · 3.4 · 3.3 · 3.1 · 3.0