Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > socketライブラリ > Socketクラス > tcp

singleton method Socket.tcp

tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) -> Socket[permalink][rdoc]
tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) {|socket| ... } -> object

TCP/IP で host:port に接続するソケットオブジェクトを作成します。

local_host や local_port を指定した場合、ソケットをそこにバインドします。

ブロックを渡すと、生成したソケットをそのブロックに渡し呼び出します。ブロック終了時にソケットオブジェクトを閉じます。

[PARAM] host:
接続先のホスト名
[PARAM] port:
接続先のポート番号
[PARAM] local_host:
接続元のホスト名
[PARAM] local_port:
接続元のポート番号
[PARAM] connect_timeout:
タイムアウトまでの秒数
[RETURN]
ブロック付きで呼ばれた場合はブロックが返した値です。ブロックなしで呼ばれた場合はソケットオブジェクトを返します。
require 'socket'

Socket.tcp("www.ruby-lang.org", 80) {|sock|
  sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
  sock.close_write
  puts sock.read
}