require 'socket' mySocket = TCPSocket.new( 'www.wikibook.com', 80 ) puts'===================================' # Returns information on this connection's peer socket as a struct # sockaddr packed into a string. strinfo = mySocket.getpeername puts 'strinfo: '+strinfo # Returns true if query returns numeric address not host name. puts BasicSocket::do_not_reverse_lookup puts'===================================' # Returns information on s as a struct sockaddr packed into a string. strinfo = mySocket.getsockname puts 'strinfo: '+strinfo puts'===================================' # Gets the specified socket option. optval = mySocket.getsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR) puts 'optval: '+optval.inspect optval = optval.unpack "i" puts 'optval: '+optval.inspect optval = mySocket.getsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER) puts 'optval: '+optval.inspect optval = optval.unpack "ii" puts 'optval: '+optval.inspect # Sets reverse_lookup status BasicSocket::do_not_reverse_lookup=true # Sets the specified socket option. mySocket.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true) optval = mySocket.getsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR) puts 'optval: '+optval.inspect optval = optval.unpack "i" puts 'optval: '+optval.inspect puts'===================================' # mySocket.shutdown(2) # 0 shuts down receiving, 1 sending, and 2 both. puts 'mySocket: '+mySocket.inspect puts'===================================' # Returns true if query returns numeric address not host name. puts BasicSocket::do_not_reverse_lookup puts'==================================='