instance method Addrinfo#connect_from

connect_from(host, port) -> Socket[permalink][rdoc]
connect_from(host, port) {|sock| ... } -> object

引数で指定されたアドレスから自身のアドレスへソケットを接続します。

接続元のアドレスは Addrinfo#family_addrinfo により生成されたものが用いられます。

ブロックが渡されたときにはそのブロックに接続済み Socket オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。ブロックを省略した場合は、接続済みSocket オブジェクトが返されます。

引数で指定したアドレスはソケット接続のローカル側のアドレスになります。

require 'socket'

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
}
[PARAM] host:
ホスト(IP アドレスもしくはホスト名)
[PARAM] port:
ポート番号(整数)もしくはサービス名(文字列)