當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。