socket.sysaccept => [client_socket_fd, client_addrinfo]
Instance Public methods
Accepts an incoming connection returning an array containing the (integer) file descriptor for the incoming connection, client_socket_fd, and an Addrinfo, client_addrinfo.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # In one script, start this first require 'socket' include Socket::Constants socket = Socket. new ( AF_INET , SOCK_STREAM , 0 ) sockaddr = Socket.pack_sockaddr_in( 2200 , 'localhost' ) socket.bind( sockaddr ) socket.listen( 5 ) client_fd, client_addrinfo = socket.sysaccept client_socket = Socket.for_fd( client_fd ) puts "The client said, '#{client_socket.readline.chomp}'" client_socket.puts "Hello from script one!" socket.close # In another script, start this second require 'socket' include Socket::Constants socket = Socket. new ( AF_INET , SOCK_STREAM , 0 ) sockaddr = Socket.pack_sockaddr_in( 2200 , 'localhost' ) socket.connect( sockaddr ) socket.puts "Hello from script 2." puts "The server said, '#{socket.readline.chomp}'" socket.close |
Refer to #accept for the exceptions that may be thrown if the call to sysaccept fails.
Please login to continue.