Skip to content

Instantly share code, notes, and snippets.

@mrkn
Created December 13, 2013 15:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrkn/7945798 to your computer and use it in GitHub Desktop.
Save mrkn/7945798 to your computer and use it in GitHub Desktop.
require 'socket'
# Addrinfo#connect_internal
puts "(1) Addrinfo#connect (connect_internal)"
begin
raise
rescue
p Addrinfo.tcp('www.ruby-lang.org', 80).connect
end
# Addrinfo.bind
puts "\n(2) Addrinfo#bind"
begin
ai = Addrinfo.tcp(nil, 11229)
raise
rescue
begin
p ai.bind
end
end
# Addrinfo.listen
puts "\n(3) Addrinfo#listen"
begin
ai = Addrinfo.tcp(nil, 11228)
raise
rescue
begin
p ai.listen
end
end
# Socket.ip_sockets_port0
puts "\n(4) Socket.tcp_server_sockets (ip_sockets_port0)"
begin
raise
rescue
begin
Socket.tcp_server_sockets(0)
rescue IOError
$stderr.puts "#{$!.class}: #{$!}", $!.backtrace
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment