Advanced Ruby Socket script example


SUBMITTED BY: Guest

DATE: May 21, 2015, 2:03 p.m.

FORMAT: Ruby

SIZE: 1.8 kB

HITS: 837

  1. require 'socket'
  2. mySocket = TCPSocket.new( 'www.wikibook.com', 80 )
  3. puts'==================================='
  4. # Returns information on this connection's peer socket as a struct
  5. # sockaddr packed into a string.
  6. strinfo = mySocket.getpeername
  7. puts 'strinfo: '+strinfo
  8. # Returns true if query returns numeric address not host name.
  9. puts BasicSocket::do_not_reverse_lookup
  10. puts'==================================='
  11. # Returns information on s as a struct sockaddr packed into a string.
  12. strinfo = mySocket.getsockname
  13. puts 'strinfo: '+strinfo
  14. puts'==================================='
  15. # Gets the specified socket option.
  16. optval = mySocket.getsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR)
  17. puts 'optval: '+optval.inspect
  18. optval = optval.unpack "i"
  19. puts 'optval: '+optval.inspect
  20. optval = mySocket.getsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER)
  21. puts 'optval: '+optval.inspect
  22. optval = optval.unpack "ii"
  23. puts 'optval: '+optval.inspect
  24. # Sets reverse_lookup status
  25. BasicSocket::do_not_reverse_lookup=true
  26. # Sets the specified socket option.
  27. mySocket.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
  28. optval = mySocket.getsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR)
  29. puts 'optval: '+optval.inspect
  30. optval = optval.unpack "i"
  31. puts 'optval: '+optval.inspect
  32. puts'==================================='
  33. #
  34. mySocket.shutdown(2) # 0 shuts down receiving, 1 sending, and 2 both.
  35. puts 'mySocket: '+mySocket.inspect
  36. puts'==================================='
  37. # Returns true if query returns numeric address not host name.
  38. puts BasicSocket::do_not_reverse_lookup
  39. puts'==================================='

comments powered by Disqus