PATH:
opt
/
alt
/
ruby34
/
share
/
ri
/
system
/
Socket
U:RDoc::AnyMethod[iI"connect_nonblock:ETI"Socket#connect_nonblock;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"KRequests a connection to be made on the given +remote_sockaddr+ after ;TI";O_NONBLOCK is set for the underlying file descriptor. ;TI"?Returns 0 if successful, otherwise an exception is raised.;To:RDoc::Markup::BlankLine S:RDoc::Markup::Heading: leveli: textI"Parameter;To:RDoc::Markup::List: @type:BULLET:@items[o:RDoc::Markup::ListItem:@label0; [o; ; [I"W+remote_sockaddr+ - the +struct+ sockaddr contained in a string or Addrinfo object;T@S;; i;I" Example:;To:RDoc::Markup::Verbatim; [I"## Pull down Google's web page ;TI"require 'socket' ;TI"include Socket::Constants ;TI"2socket = Socket.new(AF_INET, SOCK_STREAM, 0) ;TI"9sockaddr = Socket.sockaddr_in(80, 'www.google.com') ;TI"&begin # emulate blocking connect ;TI") socket.connect_nonblock(sockaddr) ;TI"rescue IO::WaitWritable ;TI"B IO.select(nil, [socket]) # wait 3-way handshake completion ;TI" begin ;TI"F socket.connect_nonblock(sockaddr) # check connection failure ;TI" rescue Errno::EISCONN ;TI" end ;TI" end ;TI",socket.write("GET / HTTP/1.0\r\n\r\n") ;TI"results = socket.read ;T:@format0o; ; [I"ORefer to Socket#connect for the exceptions that may be thrown if the call ;TI"!to _connect_nonblock_ fails.;T@o; ; [I"VSocket#connect_nonblock may raise any error corresponding to connect(2) failure, ;TI""including Errno::EINPROGRESS.;T@o; ; [I"-If the exception is Errno::EINPROGRESS, ;TI")it is extended by IO::WaitWritable. ;TI"\So IO::WaitWritable can be used to rescue the exceptions for retrying connect_nonblock.;T@o; ; [I"OBy specifying a keyword argument _exception_ to +false+, you can indicate ;TI"Othat connect_nonblock should not raise an IO::WaitWritable exception, but ;TI"0return the symbol +:wait_writable+ instead.;T@S;; i;I"See;To;;;;[o;;0; [o; ; [I"Socket#connect;T: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I">socket.connect_nonblock(remote_sockaddr, [options]) => 0 ;T0[ I"(addr, exception: true);T@IFI"Socket;TcRDoc::NormalClass00
[-] getifaddrs-c.ri
[edit]
[-] unpack_sockaddr_in-c.ri
[edit]
[-] tcp_without_fast_fallback-c.ri
[edit]
[-] pair-c.ri
[edit]
[-] udp_server_loop-c.ri
[edit]
[-] getservbyname-c.ri
[edit]
[-] udp_server_loop_on-c.ri
[edit]
[-] unix-c.ri
[edit]
[-] tcp_with_fast_fallback-c.ri
[edit]
[-] sockaddr_un-c.ri
[edit]
[-] cdesc-Socket.ri
[edit]
[-] ip_address%3f-c.ri
[edit]
[-] current_clock_time-c.ri
[edit]
[-] tcp-c.ri
[edit]
[-] udp_server_recv-c.ri
[edit]
[-] bind-i.ri
[edit]
[-] connect_nonblock-i.ri
[edit]
[-] socketpair-c.ri
[edit]
[-] unix_server_socket-c.ri
[edit]
[-] new-c.ri
[edit]
[-] gethostbyaddr-c.ri
[edit]
[-] accept-i.ri
[edit]
[-] udp_server_sockets-c.ri
[edit]
[-] getnameinfo-c.ri
[edit]
[-] sockaddr_in-c.ri
[edit]
[-] gethostname-c.ri
[edit]
[-] listen-i.ri
[edit]
[-] tcp_fast_fallback-c.ri
[edit]
[-] unpack_sockaddr_un-c.ri
[edit]
[-] recvfrom-i.ri
[edit]
[-] pack_sockaddr_in-c.ri
[edit]
[+]
UDPSource
[+]
AncillaryData
[+]
HostnameResolutionStore
[-] expired%3f-c.ri
[edit]
[-] unix_socket_abstract_name%3f-c.ri
[edit]
[-] tcp_server_loop-c.ri
[edit]
[-] sysaccept-i.ri
[edit]
[+]
Constants
[-] ipv6only%21-i.ri
[edit]
[-] ip_address_list-c.ri
[edit]
[+]
..
[-] second_to_timeout-c.ri
[edit]
[+]
Ifaddr
[-] pack_sockaddr_un-c.ri
[edit]
[-] accept_loop-c.ri
[edit]
[-] connect-i.ri
[edit]
[-] resolve_hostname-c.ri
[edit]
[+]
ResolutionError
[-] tcp_server_sockets-c.ri
[edit]
[-] unix_server_loop-c.ri
[edit]
[-] tcp_fast_fallback%3d-c.ri
[edit]
[-] gethostbyname-c.ri
[edit]
[-] accept_nonblock-i.ri
[edit]
[-] getservbyport-c.ri
[edit]
[+]
Option
[-] recvfrom_nonblock-i.ri
[edit]
[+]
HostnameResolutionResult
[-] getaddrinfo-c.ri
[edit]