%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/cpanel/ea-ruby24/root/usr/share/ri/system/Socket/
Upload File :
Create Path :
Current File : //opt/cpanel/ea-ruby24/root/usr/share/ri/system/Socket/connect_nonblock-i.ri

U:RDoc::AnyMethod[iI"connect_nonblock:EFI"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::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Parameter;To:RDoc::Markup::Verbatim;	[I"Z# +remote_sockaddr+ - the +struct+ sockaddr contained in a string or Addrinfo object
;T:@format0S;;
i;I"
Example:;To;;	[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;0o;
;	[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;;	[I"# Socket#connect;T;0:
@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@AFI"Socket;TcRDoc::NormalClass00

Zerion Mini Shell 1.0