Class: Rex::Proto::MQTT::Client
- Inherits:
-
Object
- Object
- Rex::Proto::MQTT::Client
- Defined in:
- lib/rex/proto/mqtt/client.rb
Instance Method Summary collapse
- #connect ⇒ Object
- #connect? ⇒ Boolean
- #disconnect ⇒ Object
-
#initialize(sock, opts = {}) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(sock, opts = {}) ⇒ Client
Returns a new instance of Client.
14 15 16 17 |
# File 'lib/rex/proto/mqtt/client.rb', line 14 def initialize(sock, opts = {}) @sock = sock @opts = opts end |
Instance Method Details
#connect ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/rex/proto/mqtt/client.rb', line 19 def connect connect_opts = { client_id: @opts[:client_id] } unless @opts[:username].blank? connect_opts[:username] = @opts[:username] end unless @opts[:password].blank? connect_opts[:password] = @opts[:password] end connect = ::MQTT::Packet::Connect.new(connect_opts).to_s @sock.put(connect) res = @sock.get_once(-1, @opts[:read_timeout]) ::MQTT::Packet.parse(res) end |
#connect? ⇒ Boolean
36 37 38 |
# File 'lib/rex/proto/mqtt/client.rb', line 36 def connect? connect.return_code.zero? end |
#disconnect ⇒ Object
40 41 42 43 |
# File 'lib/rex/proto/mqtt/client.rb', line 40 def disconnect disconnect = ::MQTT::Packet::Disconnect.new().to_s @sock.put(disconnect) end |