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