类:Mongo::Address::IPv 4

继承:
对象
  • 对象
显示全部
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/address/ipv 4 .rb

Overview

如果地址是 IP 地址,则设置支持 IPv 4的解析。

由于:

  • 2.0.0

常量摘要折叠

MATCH =

用于匹配 IPv 4 IP 地址的正则表达式。

由于:

  • 2.0.0

regexp.new(' /\./ ').冻结
SPLIT =

拆分值常量。

由于:

  • 2.1.0

' : '.冻结

实例属性摘要折叠

类方法摘要折叠

实例方法摘要折叠

构造函数详情

#initialize (host, port, host_name = nil) ⇒ IPv 4

初始化 IPv 4解析程序。

例子:

初始化解析程序。

IPv4.new("127.0.0.1", 27017, 'localhost')

参数:

  • 主机 ( string )

    主机。

  • 端口 ( Integer )

    端口。

由于:

  • 2.0.0



72
73
74
75
76
# File 'build/Ruby-driver-v 2.19 /lib/mongo/address/ipv 4 .rb', 第72行

def 初始化(主机, 端口, host_name=nil)
  @host = 主机
  @port = 端口
  @host_name = host_name
end

实例属性详细信息

#主机string (只读)

返回 host 主机。

返回:

  • ( string )

    主机 主机。

由于:

  • 2.0.0



28
29
30
# File 'build/Ruby-driver-v 2.19 /lib/mongo/address/ipv 4 .rb', 第28行

def 主机
  @host
end

# host_namestring (只读)

返回 host_name 原始主机名。

返回:

  • ( string )

    host_name 原始主机名。

由于:

  • 2.0.0



31
32
33
# File 'build/Ruby-driver-v 2.19 /lib/mongo/address/ipv 4 .rb', 第31行

def host_name
  @host_name
end

# portInteger (readonly)

返回 port 端口。

返回:

  • ( Integer )

    port 端口。

由于:

  • 2.0.0



34
35
36
# File 'build/Ruby-driver-v 2.19 /lib/mongo/address/ipv 4 .rb', 第34行

def 端口
  @port
end

类方法详细信息

parse (address) ⇒ Array< string , Integer>

将 IPv 4地址解析为其主机和端口。

例子:

解析地址。

IPv4.parse("127.0.0.1:28011")

参数:

  • 地址 ( string )

    要解析的地址。

返回:

  • ( Array< string , Integer> )

    主机和端口对。

由于:

  • 2.0.0



56
57
58
59
60
61
# File 'build/Ruby-driver-v 2.19 /lib/mongo/address/ipv 4 .rb', 第56行

def self.parse(地址)
  零件 = 地址.拆分(拆分)
  主机 = 零件[0]
  端口 = (零件[1] || 27017).to_i
  [ 主机, 端口 ]
end

实例方法详细信息

# socket (socket_timeout, options = {}) ⇒ Mongo::Socket::SSL , Mongo::Socket::TCP

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

根据给定的选项,获取所提供地址类型的套接字。

例子:

获取 IPv 4套接字。

ipv4.socket(5, :ssl => true)

参数:

  • socket_timeout (浮点)

    套接字超时。

  • 选项 哈希 (默认为: {}

    选项。

选项哈希 ( options ):

  • :connect_timeout 浮点

    连接超时。

  • :ssl ( true | false )

    是否使用 TLS。

  • :ssl_ca_cert string

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_ca_cert_object ( Array<OpenSSL::X 509 ::Certificate> )

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_ca_cert_string string

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_cert string

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_cert_object ( OpenSSL::X 509 ::Certificate )

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_cert_string string

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_key string

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_key_object ( OpenSSL::PKey )

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_key_pass_phrase string

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_key_string string

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_verify ( true , false )

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_verify_certificate ( true , false )

    与相应的 Client/Socket::SSL 选项相同。

  • :ssl_verify_hostname ( true , false )

    与相应的 Client/Socket::SSL 选项相同。

返回:

由于:

  • 2.0.0



119
120
121
122
123
124
125
# File 'build/Ruby-driver-v 2.19 /lib/mongo/address/ipv 4 .rb', 第119行

def 套接字(socket_timeout, 选项 = {})
  if 选项[:ssl]
    套接字::ssl.new(主机, 端口, host_name, socket_timeout, 套接字::PF_INET, 选项)
  else
    套接字::TCP.new(主机, 端口, socket_timeout, 套接字::PF_INET, 选项)
  end
end