本文简要介绍ruby语言中 Socket.tcp_server_sockets
的用法。
用法
tcp_server_sockets(host=nil, port) { |sockets| ... }
为 host
和 port
创建 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 Socket.tcp_server_loop用法及代码示例
- Ruby Socket.tcp用法及代码示例
- Ruby Socket.pair用法及代码示例
- Ruby Socket.udp_server_sockets用法及代码示例
- Ruby Socket.unpack_sockaddr_in用法及代码示例
- Ruby Socket.udp_server_recv用法及代码示例
- Ruby Socket.new用法及代码示例
- Ruby Socket.getservbyport用法及代码示例
- Ruby Socket.listen用法及代码示例
- Ruby Socket.gethostname用法及代码示例
- Ruby Socket.unix_server_loop用法及代码示例
- Ruby Socket.sockaddr_un用法及代码示例
- Ruby Socket.accept用法及代码示例
- Ruby Socket.recvfrom_nonblock用法及代码示例
- Ruby Socket.bind用法及代码示例
- Ruby Socket.getaddrinfo用法及代码示例
- Ruby Socket.getnameinfo用法及代码示例
- Ruby Socket.unix_server_socket用法及代码示例
- Ruby Socket.accept_nonblock用法及代码示例
- Ruby Socket.recvfrom用法及代码示例
- Ruby Socket.unix用法及代码示例
- Ruby Socket.gethostbyaddr用法及代码示例
- Ruby Socket.ip_address_list用法及代码示例
- Ruby Socket.sysaccept用法及代码示例
- Ruby Socket.getservbyname用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Socket.tcp_server_sockets。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。