класс DRb::DRbSSLSocket
Протокол для DRb через сокет SSL
URI для DRb сокета через SSL: drbssl://<host>:<port>?<option>. Опция необязательна
Публичные методы класса
# File lib/drb/ssl.rb, line 314 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 259 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 277
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–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.