Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > socketライブラリ > Addrinfoクラス > connect_from

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:
ポート番号(整数)もしくはサービス名(文字列)