класс DRb::DRbSSLSocket
Протокол для DRb через сокет SSL
URI для сокета DRb через SSL: drbssl://<host>:<port>?<option>. Этот параметр необязателен.
Публичные методы класса
# File lib/drb/ssl.rb, line 304 def initialize(uri, soc, config, is_established) @ssl = is_established ? soc : nil super(uri, soc.to_io, config) end
Создать экземпляр DRb::DRbSSLSocket.
uri — это URI, к которому мы подключены. soc — это сокет TCP, к которому мы привязаны. config — наша конфигурация. Это может быть Hash или SSLConfig is_established. soc — это булево значение, указывающее, установлен ли на данный момент подключение.
Этот метод вызывается автоматически в соответствии с протоколом DRb.
BasicObject::new # File lib/drb/ssl.rb, line 249 def self.open(uri, config) host, port, = parse_uri(uri) soc = TCPSocket.open(host, port) ssl_conf = SSLConfig::new(config) ssl_conf.setup_ssl_context ssl = ssl_conf.connect(soc) self.new(uri, ssl, ssl_conf, true) end
Возвращает экземпляр DRb::DRbSSLSocket как клиентское подключение с установленным SSL. Этот метод вызывается из DRb::start_service или при подключении к удаленному объекту:
DRb.start_service 'drbssl://localhost:0', front, config
uri — это URI, к которому мы подключены, как описано выше. 'drbssl://localhost:0'. config — наша конфигурация. Это может быть Hash или DRb::DRbSSLSocket::SSLConfig.
# File lib/drb/ssl.rb, line 267
def self.open_server(uri, config)
uri = 'drbssl://:0' unless uri
host, port, = parse_uri(uri)
if host.size == 0
host = getservername
soc = open_server_inaddr_any(host, port)
else
soc = TCPServer.open(host, port)
end
port = soc.addr[1] if port == 0
@uri = "drbssl://#{host}:#{port}"
ssl_conf = SSLConfig.new(config)
ssl_conf.setup_certificate
ssl_conf.setup_ssl_context
self.new(@uri, soc, ssl_conf, false)
end Возвращает экземпляр DRb::DRbSSLSocket как серверное подключение с установленным SSL. Этот метод вызывается из DRb::start_service или при подключении к удаленному объекту:
DRb.start_service 'drbssl://localhost:0', front, config
uri — это URI, к которому мы подключены, как описано выше. 'drbssl://localhost:0'. config — наша конфигурация. Это может быть Hash или DRb::DRbSSLSocket::SSLConfig.
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.