MQTT Channel Connection with Java MQTT Client


I’m trying to connect to an MQTT channel on my dashboard from an external client. The connection string in the dashboard starts with “mqtts” which is not a viable URI scheme. Should I be using “ssh” or “tcp” or some other URI scheme? See below:

mqtt or mqtts isn’t an official uri scheme ( so that would be unlikely to work.

Thank you in advance,


Hi @chuck.williams,

You’re right in that mqtt and mqtts are not officially recognized iana URI schemes. Some client libraries, such as for dotNet and Node use this as a convention though.

It sounds like you’re using a Java MQTT library, most of which require the use of the tcp scheme. For example, see the docs for the HiveMQ Java library

You would use port 18103 for non-SSL which would not be very secure. Use port 28103 to connect over ssl, and don’t forget you’ll have to configure SSL options in the MQTT client before you connect.

Hope that helps!



Thank you. Yes, I’m using a Paho Java client ( Is there a tutorial for what’s needed to setup the SSL connection to the Helium cloud so I can subscribe to the MQTT channel?



The HiveMQ link has a section on how to set up the Paho client options to use SSL.

We have a guide on using Helium MQTT and it includes a handy image to show how to break down the connection string into it’s parts.


@chuck.williams This blog post, which is linked in the docs @marc just posted, should also be helpful.