Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Mini web service

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Mini web service

Mini web service

Scheduled Pinned Locked Moved Skripten / Logik
10 Posts 3 Posters 533 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    stoffel67
    wrote on last edited by
    #1

    Hallo,

    ich wollte einen kleinen web Server einrichten, der zunächst einfach nur "hört" wenn ein Client etwas schickt…

    var net = require('net');
    var host='127.0.0.1';
    var port=9876;
    var textChunk = '';
    var server = net.createServer(function(socket) {
        console.log("Starte Server...");
    	socket.write('Echo server\r\n');
    	socket.on('data', function(data){
    		console.log(data);
    		textChunk = data.toString('utf8');
    		console.log(textChunk);
    		socket.write(textChunk);
    	});
    });
    server.listen(port,host);
    
    

    starte ich das script, dann bekomme ich folgenden Fehlermeldung:
    ` > javascript.0 2018-03-05 09:25:04.846 error at process._tickCallback (internal/process/next_tick.js:104:9)

    javascript.0 2018-03-05 09:25:04.846 error at _combinedTickCallback (internal/process/next_tick.js:83:11)

    javascript.0 2018-03-05 09:25:04.846 error at net.js:1408:9

    javascript.0 2018-03-05 09:25:04.846 error at listen (net.js:1298:10)

    javascript.0 2018-03-05 09:25:04.846 error at Server._listen2 (net.js:1262:14)

    javascript.0 2018-03-05 09:25:04.846 error at exports._exceptionWithHostPort (util.js:1043:20)

    javascript.0 2018-03-05 09:25:04.846 error at Object.exports._errnoException (util.js:1020:11)

    javascript.0 2018-03-05 09:25:04.846 error Error: listen EADDRINUSE 127.0.0.1:9876

    javascript.0 2018-03-05 09:25:04.844 error uncaught exception: listen EADDRINUSE 127.0.0.1:9876 `

    mir ist nicht klar, warum der Server nicht startet,

    ist es nicht möglich, mehrere "Services" mit unterschiedlichen Ports zu starten/laufen zu lassen?

    wo ist mein Denkfehler?

    Mein Adapter: JUNG/GIRA eNet-Adapter

    1 Reply Last reply
    0
    • Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      wrote on last edited by
      #2

      Also erstmal hast du geschaut ob der port überhaupt frei ist?

      Dann wie oft hast du das Skript gestartet bevor die Meldung kam?

      Es ist so das der Listener auch dann weiter läuft wenn du das Skript beendest. Du musst dir also einen "Schalter" bauen mit dem du den Listener beenden kannst.

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Reply Last reply
      0
      • S Offline
        S Offline
        stoffel67
        wrote on last edited by
        #3

        das passiert gleich beim ersten mal…

        Ohh, das wußte ich nicht,

        Port ist sicher frei...auf dem Raspberry (meinem ioBroker Rechner )

        aber wie mache ich das mit dem "Schalter"?

        wie beende ich den listener?

        Mein Adapter: JUNG/GIRA eNet-Adapter

        1 Reply Last reply
        0
        • Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          wrote on last edited by
          #4

          Du musst was in die Richtung bauen:

          ({id: "javascript.0.stopListener", val: true}
          	,function(){ server.close(log('Listener gestoppt')
          	})
          

          Außerdem solltest du statt deines "socket.on" in der Server Deklaration "server.on" außerhalb verwenden.

          Darüber hinaus ist auf console.log zu verzichten und nur log zu verwenden, da die Formatierung im Admin Log sonst fehlt.

          var net = require('net');
          var host='127.0.0.1';
          var port=9876;
          var textChunk = '';
          var server = net.createServer(function(socket) {
              log("Starte Server...");
             socket.write('Echo server\r\n');
          });
          server.listen(port,host);
          
          server.on('data', function(data){
                log(data);
                textChunk = data.toString('utf8');
                log(textChunk);
                server.write(textChunk);
             });
          

          Was gibt den

          netstat -an |grep LISTEN
          

          aus?

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          1 Reply Last reply
          0
          • S Offline
            S Offline
            stoffel67
            wrote on last edited by
            #5

            netstat -an…

            gibt folgendes aus:

            pi@raspberrypi:/opt/iobroker/etc $ netstat -an |grep LISTEN

            tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN

            tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN

            tcp 0 0 127.0.0.1:9876 0.0.0.0:* LISTEN

            tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

            tcp6 0 0 :::8081 :::* LISTEN

            tcp6 0 0 :::8082 :::* LISTEN

            tcp6 0 0 :::8084 :::* LISTEN

            tcp6 0 0 :::22 :::* LISTEN

            d.h. da läuft noch eine listener?

            Mein Adapter: JUNG/GIRA eNet-Adapter

            1 Reply Last reply
            0
            • HomoranH Do not disturb
              HomoranH Do not disturb
              Homoran
              Global Moderator Administrators
              wrote on last edited by
              #6

              Die Suche im Forum nach 9876 bringt ein paar Ergebnisse, wobei ich nicht weiß ob das etwas für dich ist.

              Gruß

              Rainer

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Reply Last reply
              0
              • S Offline
                S Offline
                stoffel67
                wrote on last edited by
                #7

                > Die Suche im Forum nach 9876 bringt ein paar Ergebnisse, wobei ich nicht weiß ob das etwas für dich ist. nein, habe nix mit "broadlink" zu tun…

                ich habe auch schon einen anderen Port genommen...

                auch mit deinem Code tut sich nix...

                Mein Adapter: JUNG/GIRA eNet-Adapter

                1 Reply Last reply
                0
                • Jey CeeJ Online
                  Jey CeeJ Online
                  Jey Cee
                  Developer
                  wrote on last edited by
                  #8

                  @stoffel67:

                  ich habe auch schon einen anderen Port genommen…

                  auch mit deinem Code tut sich nix... `

                  Es kommt aber kein Fehler oder?

                  Was sollte sich den tun? Schwierig zu sagen wo das Problem liegt wenn man keine Ahnung hat was passieren sollte.

                  Kannst du den an deinem Client sehen ob er eine Nachricht verschickt und ob er eine Antwort bekommt.

                  Gut möglich das einfach keine Ausgabe erfolgt trotz funktionierender Verbindung.

                  Persönlicher Support
                  Spenden -> paypal.me/J3YC33

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    stoffel67
                    wrote on last edited by
                    #9

                    nein, jetzt kommt kein Fehler, der Server scheint zu laufen,

                    aber auf der Client Seite ( einfacher Test mit putty)

                    bekomme ich ein .. Connection refused…

                    Mein Adapter: JUNG/GIRA eNet-Adapter

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      stoffel67
                      wrote on last edited by
                      #10

                      hab jetzt Javascript neu gestartet…

                      jetzt bekomme ich am Client das "Echo Server", aber alles was ich am Client eintippe, kommt nicht am Server an...

                      server.on('data', function(data){
                            log(data.toString);
                            textChunk = data.toString('utf8');
                            log(textChunk);
                            server.write(textChunk);
                         });
                      
                      

                      müßte doch jetzt die Zeichen vom Client ausgeben…?

                      Mein Adapter: JUNG/GIRA eNet-Adapter

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      557

                      Online

                      32.4k

                      Users

                      81.3k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe