--- !ruby/object:RI::MethodDescription aliases: [] block_params: comment: - !ruby/struct:SM::Flow::P body: Accepts an incoming connection returnings an array containg the (integer) file descriptor for the incoming connection, client_socket_fd, and a string that contains the struct sockaddr information about the caller, client_sockaddr. - !ruby/struct:SM::Flow::H level: 3 text: Example - !ruby/struct:SM::Flow::VERB body: " # In one script, start this first\n require 'socket'\n include Socket::Constants\n socket = Socket.new( AF_INET, SOCK_STREAM, 0 )\n sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )\n socket.bind( sockaddr )\n socket.listen( 5 )\n client_fd, client_sockaddr = socket.sysaccept\n client_socket = Socket.for_fd( client_fd )\n puts "The client said, '#{client_socket.readline.chomp}'"\n client_socket.puts "Hello from script one!"\n socket.close\n\n # In another script, start this second\n require 'socket'\n include Socket::Constants\n socket = Socket.new( AF_INET, SOCK_STREAM, 0 )\n sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )\n socket.connect( sockaddr )\n socket.puts "Hello from script 2."\n puts "The server said, '#{socket.readline.chomp}'"\n socket.close\n" - !ruby/struct:SM::Flow::P body: Refer to Socket#accept for the exceptions that may be thrown if the call to sysaccept fails. - !ruby/struct:SM::Flow::H level: 3 text: See - !ruby/object:SM::Flow::LIST contents: - !ruby/struct:SM::Flow::LI label: "*" body: Socket#accept type: :BULLET full_name: Socket#sysaccept is_singleton: false name: sysaccept params: | socket.sysaccept => [client_socket_fd, client_sockaddr] visibility: public