Class: Makit::Port
- Inherits:
-
Object
- Object
- Makit::Port
- Defined in:
- lib/makit/port.rb
Overview
This class provide methods for working with ports
Class Method Summary collapse
- .get_available_port(start_port = 1024, end_port = 65_535) ⇒ Object
- .get_random_available_port ⇒ Object
- .get_random_port ⇒ Object
- .is_port_available?(port) ⇒ Boolean
Class Method Details
.get_available_port(start_port = 1024, end_port = 65_535) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/makit/port.rb', line 17 def self.get_available_port(start_port = 1024, end_port = 65_535) (start_port..end_port).each do |port| return port if is_port_available?(port) end nil # No available port found in the range end |
.get_random_available_port ⇒ Object
28 29 30 |
# File 'lib/makit/port.rb', line 28 def self.get_random_available_port get_available_port(get_random_port) end |
.get_random_port ⇒ Object
24 25 26 |
# File 'lib/makit/port.rb', line 24 def self.get_random_port rand(1024..65_535) end |
.is_port_available?(port) ⇒ Boolean
8 9 10 11 12 13 14 15 |
# File 'lib/makit/port.rb', line 8 def self.is_port_available?(port) socket = Socket.new(:INET, :STREAM) socket.bind(Socket.sockaddr_in(port, "")) socket.close true # Port is available for use rescue Errno::EADDRINUSE, Errno::EACCES false # Port is not available for use end |