class CTI::Driver
- Version
-
$Id: Driver.rb 902 2013-04-23 05:07:04Z miyabe $
ドライバクラスです。通常は直接使用する必要はありません。 代わりに CTI#get_session
メソッドを使用してください。
end¶ ↑
Public Instance Methods
get_session(uri, options = {}, &block)
click to toggle source
指定されたURIに接続し、セッションを返します。
- uri
-
接続先アドレス
- options
-
接続オプション
- 返り値
-
CTI::Session
オブジェクト
end¶ ↑
# File CTI/Driver.rb 21 def get_session(uri, options = {}, &block) 22 # uriの解析 23 host = 'localhost' 24 port = 8099 25 ssl = false 26 if /^ctips:\/\/([^:\/]+):([0-9]+)\/?$/ =~ uri then 27 ssl = true 28 host = $1 29 port = $2.to_i 30 elsif /^ctips:\/\/([^:\/]+)\/?$/ =~ uri then 31 ssl = true 32 host = $1 33 elsif /^ctip:\/\/([^:\/]+):([0-9]+)\/?$/ =~ uri then 34 host = $1 35 port = $2.to_i 36 elsif /^ctip:\/\/([^:\/]+)\/?$/ =~ uri then 37 host = $1 38 end 39 40 io = TCPSocket.open(host, port) 41 if ssl 42 # SSLを使う場合 43 require 'openssl' 44 io = OpenSSL::SSL::SSLSocket.new(io) 45 io.connect 46 end 47 session = Session.new(io, options) 48 if block 49 # ブロック実行 50 begin 51 block.call(session) 52 ensure 53 session.close() 54 end 55 else 56 return session 57 end 58 end