当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Socket.tcp_server_sockets用法及代码示例


本文简要介绍ruby语言中 Socket.tcp_server_sockets 的用法。

用法

tcp_server_sockets(host=nil, port) { |sockets| ... }

hostport 创建 TCP/IP 服务器套接字。 host 是可选的。

如果没有给出块,它返回一个监听套接字数组。

如果给定了一个块,则使用套接字调用该块。返回块的值。当此方法返回时,套接字将关闭。

如果port 为0,则动态选择实际端口号。然而,结果中的所有套接字都具有相同的端口号。

# tcp_server_sockets returns two sockets.
sockets = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]

# The sockets contains IPv6 and IPv4 sockets.
sockets.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:1296 TCP>
#   #<Addrinfo: 0.0.0.0:1296 TCP>

# IPv6 and IPv4 socket has same port number, 53114, even if it is chosen dynamically.
sockets = Socket.tcp_server_sockets(0)
sockets.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:53114 TCP>
#   #<Addrinfo: 0.0.0.0:53114 TCP>

# The block is called with the sockets.
Socket.tcp_server_sockets(0) {|sockets|
  p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]
}

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Socket.tcp_server_sockets。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。