logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Publikowanie danych w serwerze "m24.cloudmqtt.com" w Javie

matej1410 24 Lip 2020 10:56 399 1
REKLAMA
  • #1 18835055
    matej1410
    Poziom 25  
    Posty: 1085
    Pomógł: 115
    Ocena: 219
    Witam.

    Używam środowiska InteliJ oraz zaciągnąłem bibliotekę do MQTT stąd:
    https://github.com/fusesource/mqtt-client/blob/master/readme.md

    Na początku testowy program który po uruchomieniu się powinien połączyć się z serwerem i umieścić na nim dane. Sam serwer jest skonfigurowany tak:
    Publikowanie danych w serwerze "m24.cloudmqtt.com" w Javie

    Mój kod:
    Kod: Java
    Zaloguj się, aby zobaczyć kod


    Po 5 sekundach od uruchomienia środowisko zwraca mi to:

    Exception in thread "MQTT Task" java.lang.IllegalArgumentException: port out of range:-1
    at java.base/java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143)
    at java.base/java.net.InetSocketAddress.<init>(InetSocketAddress.java:224)
    at org.fusesource.hawtdispatch.transport.TcpTransport$2.run(TcpTransport.java:458)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)


    i nic się nie wysyła do serwera. Prosze o podpowiedź.

    Dodano po 1 [godziny] 36 [minuty]:

    Problem rozwiązany:

    Użyłem:
    mqtt.setClientId("nazwa");

    a powinienem:
    mqtt.setUserName("nazwa");

    Poprawnie kod powinien wyglądać tak:

    Kod: Java
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 18835226
    matej1410
    Poziom 25  
    Posty: 1085
    Pomógł: 115
    Ocena: 219
    Witam.

    Używam środowiska InteliJ oraz zaciągnąłem bibliotekę do MQTT stąd:
    https://github.com/fusesource/mqtt-client/blob/master/readme.md

    Na początku testowy program który po uruchomieniu się powinien połączyć się z serwerem i umieścić na nim dane. Sam serwer jest skonfigurowany tak:
    Publikowanie danych w serwerze "m24.cloudmqtt.com" w Javie

    Mój kod:
    Kod: Java
    Zaloguj się, aby zobaczyć kod


    Po 5 sekundach od uruchomienia środowisko zwraca mi to:

    Exception in thread "MQTT Task" java.lang.IllegalArgumentException: port out of range:-1
    at java.base/java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143)
    at java.base/java.net.InetSocketAddress.<init>(InetSocketAddress.java:224)
    at org.fusesource.hawtdispatch.transport.TcpTransport$2.run(TcpTransport.java:458)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)


    i nic się nie wysyła do serwera. Prosze o podpowiedź.

    Dodano po 1 [godziny] 36 [minuty]:

    Problem rozwiązany:

    Użyłem:
    mqtt.setClientId("nazwa");

    a powinienem:
    mqtt.setUserName("nazwa");

    Poprawnie kod powinien wyglądać tak:

    Kod: Java
    Zaloguj się, aby zobaczyć kod


    Dodano po 1 [minuty]:

    Użyto poprawnej i stworzonej do tego funkcji: mqtt.setUserName(String name);
    do zadeklarowanie nazwy użytkownika.
REKLAMA