Sponsored Content
Top Forums UNIX for Dummies Questions & Answers NS3 with MQTT integration. HELP !!!! Post 302599147 by KishIsrael on Thursday 16th of February 2012 10:35:57 AM
Old 02-16-2012
Data NS3 with MQTT integration. HELP !!!!

Hi, I'm doing my thesis on the NS3 environment. I need to integrate it with mqtt. Mqtt provides a (mosquitto) broker / server, and it expects to have clients connect to it. A client could be a publisher (publishes data on the broker) or a subscriber (receives data from the broker it has subscribed to).

SOOOO, i need to have an NS3 node as a publisher client. I have set everything working (Nodes, WiFi, TAP NET device etc) and i do have a connection made to the broker.

THE PROBLEM IS THAT: as soon as the connection is made, and the broker recognizes my NS3 node using my ID "publisher" , the connection is subsequently disconnected, so fast almost in a flash. Here is the output from the mosquitto broker:


1329401026: New connection from 191.13.13.2.
1329401026: New client connected from 191.13.13.2 as publisher.
1329401026: Socket read error on client publisher, disconnecting.


I have delved into the broker code and the error seems to be coming from the file: - loop.c in function 'loop_handle_reads_writes() at if(mqtt3_net_read(db, i)) line 267'
- or then from mosquitto.c after pselect() at point if(mqtt3_net_read(contexts[i]) line 280.

I DO NOT EXPLICITELY CLOSE my NS3 node socket after opening it. I am using an altered version of bulk-send-application.cc to include capability to also receive data from a server, and then i create a custom mosquitto namespace to add the mosquitto client functions which i will call from the bulk-send-applicaiton.cc.

WHY IS THE BROKER ACCEPTING MY CONNECTION, RECEIVES MY INFORMATION I SEND TO IT, SINCE IT DISPLAYS MY ID ('publisher'), THEN ALMOST IMMEDIATELY DISCONNECTS ME WITH A SOCKET-READ-ERROR WHILE I HAVE NOT EXPLICITELY CLOSED MY NS3 SOCKET ? Smilie Smilie Smilie Smilie Smilie Smilie

Moderator's Comments:
Mod Comment Cross-post. Closed.
 

9 More Discussions You Might Find Interesting

1. IP Networking

about ns3

Command terminated with signal SIGSEGV. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>"). while running our own program in ns3 we got the above error... what does this error mean?? (1 Reply)
Discussion started by: nivedita
1 Replies

2. IP Networking

ns3

i need materials regarding ns3(related to WiMAX) (1 Reply)
Discussion started by: nivedita
1 Replies

3. IP Networking

help with ns3 code

how to add a relay node in wimax network using ns3 simulator.... (0 Replies)
Discussion started by: nivedita
0 Replies

4. IP Networking

NS3 SendTo

Hi, I am working to implement a basic WiFi infrastructure in NS3. I have placed 16 APs in grid and one client is moving using random walk. Client and AP can communicate through message exchange. However, when I try a message of size more than 30 bytes, it is crashed. Please help me if anyone have... (0 Replies)
Discussion started by: dandapat
0 Replies

5. IP Networking

is that doable in NS3 ??

Dear all, I want to simulate an Wireless Mobile ad hoc network that uses the OLSR routing algorithm. ( i know how to do that now after reading the tutorial) Now, Instead of sending messages, I want the nodes to be able to send a c++ code. consider this scenario: node A, send a c++... (0 Replies)
Discussion started by: knowledgeSeeker
0 Replies

6. Programming

NS3 with MQTT integration. HELP !!!!

Hi, I'm doing my thesis on the NS3 environment. I need to integrate it with mqtt. Mqtt provides a (mosquitto) broker / server, and it expects to have clients connect to it. A client could be a publisher (publishes data on the broker) or a subscriber (receives data from the broker it has subscribed... (4 Replies)
Discussion started by: KishIsrael
4 Replies

7. Infrastructure Monitoring

Using Node-RED and MQTT to Monitor Server and Application Stats

After setting up MQTT and testing some ESP8266 and ESP32 modules, where I noted that testing in Programming ESP32 (ESP-WROOM-32) as an MQTT Client Subscribed to Linux Server Load Average Messages, I was so impressed with MQTT that I installed MQTT on three different computers, instantly and... (2 Replies)
Discussion started by: Neo
2 Replies

8. Programming

Publish and Subscribe to AES-256 Encrypted MQTT Messages to Node-RED from PHP Scripts

Various Node-Red crypto modules do not work with PHP, so to send an encrypted message from a PHP script (in this case from a Ubuntu server) to Node-RED we need our own code. After a few hours of searching, testing various libs, more testing and debugging, I got this PHP to Node-RED code... (0 Replies)
Discussion started by: Neo
0 Replies

9. Programming

Node-RED: Writing MQTT Messages to MySQL DB with UNIX timestamp

First, I want to thank Neo (LOL) for this post from 2018, Node.js and mysql - ER_ACCESS_DENIED_ERROR I could not get the Node-RED mysql module to work and searched Google until all my links were purple! I kept getting ER_ACCESS_DENIED_ERROR with the right credentials. Nothing on the web was... (0 Replies)
Discussion started by: Neo
0 Replies
mosquitto_sub(1)														  mosquitto_sub(1)

NAME
mosquitto_sub - an mqtt version 3.1 client for subscribing to topics SYNOPSIS
mosquitto_sub [-c] [-d] [-h hostname] [-i client_id] [-I client id prefix] [-k keepalive time] [-p port number] [-q message QoS] [--quiet] [-v] [ -u username [-P password] ] [ --will-topic topic [--will-payload payload] [--will-qos qos] [--will-retain] ] -t message topic ... DESCRIPTION
mosquitto_sub is a simple mqtt version 3.1 client that will subscribe to a topic and print the messages that it receives. OPTIONS
-c, --disable-clean-session Disable the 'clean session' flag. This means that all of the subscriptions for the client will be maintained after it disconnects, along with subsequent QoS 1 and QoS 2 messages that arrive. When the client reconnects, it will receive all of the queued messages. If using this option, it is recommended that the client id is set manually with --id -d, --debug Enable debug messages. -h, --host Specify the host to connect to. Defaults to localhost. -i, --id The id to use for this client. If not given, defaults to mosquitto_sub_ appended with the process id of the client. Cannot be used at the same time as the --id-prefix argument. -I, --id-prefix Provide a prefix that the client id will be built from by appending the process id of the client. This is useful where the broker is using the clientid_prefixes option. Cannot be used at the same time as the --id argument. -k, --keepalive The number of seconds between sending PING commands to the broker for the purposes of informing it we are still connected and func- tioning. Defaults to 60 seconds. -p, --port Connect to the port specified instead of the default 1883. -P, --pw Provide a password to be used for authenticating with the broker. Using this argument without also specifying a username is invalid. This requires a broker that supports MQTT v3.1. See also the --username option. -q, --qos Specify the quality of service desired for the incoming messages, from 0, 1 and 2. Defaults to 0. See mqtt(7) for more information on QoS. The QoS is identical for all topics subscribed to in a single instance of mosquitto_sub. --quiet If this argument is given, no runtime errors will be printed. This excludes any error messages given in case of invalid user input (e.g. using --port without a port). -t, --topic The mqtt topic to subscribe to. See mqtt(7) for more information on mqtt topics. This option may be repeated to subscribe to multiple topics. -u, --username Provide a username to be used for authenticating with the broker. This requires a broker that supports MQTT v3.1. See also the --pw argument. -v, --verbose Print received messages verbosely. With this argument, messages will be printed as "topic payload". When this argument is not given, the messages are printed as "payload". --will-payload Specify a message that will be stored by the broker and sent out if this client disconnects unexpectedly. This must be used in con- junction with --will-topic. --will-qos The QoS to use for the Will. Defaults to 0. This must be used in conjunction with --will-topic. --will-retain If given, if the client disconnects unexpectedly the message sent out will be treated as a retained message. This must be used in conjunction with --will-topic. --will-topic The topic on which to send a Will, in the event that the client disconnects unexpectedly. WILLS
mosquitto_sub can register a message with the broker that will be sent out if it disconnects unexpectedly. See mqtt(7) for more informa- tion. The minimum requirement for this is to use --will-topic to specify which topic the will should be sent out on. This will result in a non- retained, zero length message with QoS 0. Use the --will-retain, --will-payload and --will-qos arguments to modify the other will parameters. EXAMPLES
Note that these really are examples - the subscriptions will work if you run them as shown, but there must be something publishing messages on those topics for you to receive anything. Subscribe to temperature information on localhost with QoS 1: o mosquitto_sub -t sensors/temperature -q 1 Subscribe to hard drive temperature updates on multiple machines/hard drives. This expects each machine to be publishing its hard drive temperature to sensors/machines/HOSTNAME/temperature/HD_NAME. o mosquitto_sub -t sensors/machines/+/temperature/+ Subscribe to all broker status messages: o mosquitto_sub -v -t $SYS/# BUGS
mosquitto_sub bug information can be found at http://launchpad.net/mosquitto SEE ALSO
mqtt(7) mosquitto_pub(1) mosquitto(8) libmosquitto(3) AUTHOR
Roger Light <roger@atchoo.org> 5 February 2012 mosquitto_sub(1)
All times are GMT -4. The time now is 12:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy