PicoC udp stream_create alle IPs

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    PicoC udp stream_create alle IPs

    Hallo Zusammen

    Ich möchte ein PicoC programm schreiben, welches von unterschiedlichen udp quellen (selber port) liest, gleich wie es die virtuellen UDP Eingänge machen können (wenn man keine Sendeadrese eingibt).

    Ich habe hier im Forum ein kleines Beispiel gefunden (https://www.loxforum.com/forum/germa...069#post164069)
    Code:
    // server-address und port bitte anpassen
    // Ausgabe an TQ1
    #define BUFF_SIZE 255
    STREAM* udpStream = stream_create("/dev/udp/server-address/port",0,0);// create udp stream
    char szBuffer[BUFF_SIZE];
    int nCnt;
    while(1)
    {
    szBuffer ="";
    nCnt = stream_read(udpStream,szBuffer,BUFF_SIZE,100); // read stream
    if(nCnt > 0)
    {
    setoutputtext(0,szBuffer);
    }
    sleep(100);
    }
    Die Frage ist nun wie kriege ich diese Logik dazu von allen quellen zu lesen?

    Danke und Gruss
    swerder
    Zuletzt geändert von Gast; 29.08.2018, 08:58. Grund: Stichworte hinzugefügt
  • romildo
    Lebende Foren Legende
    • 25.08.2015
    • 5113

    #2
    Hallo,
    Diese Logik liest von allen Quellen welche an den eingetragenen Port senden, egal welche IP eingetragen ist.
    Du kannst die IP auch weglassen, also
    "/dev/udp//port"
    lg Romildo

    Kommentar

    • Gast

      #3
      Hallo Romildo

      Danke für die schnelle Antwort.
      Das hört sich super an, dann muss ich das bei Gelegenheit verifizieren.

      Ich nehme aber an, das ich keine Möglichkeit habe herauszufinden von welcher Quelle/IP etwas kam, wenn diese Info im udp packet nicht enthalten ist?

      Danke und Gruss
      swerder

      Kommentar

      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6289

        #4
        Die Information steckt definitiv im UDP Paket, aber nicht in der Ebene, die Du lesen kannst.
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar

        • GemischtesHack
          Dumb Home'r
          • 04.02.2021
          • 26

          #5
          Funktioniert der Code denn? Bei mir klappt das bisher nicht.

          Kommentar


          • romildo
            romildo kommentierte
            Kommentar bearbeiten
            Zumindest bei mir klappt es.

          • GemischtesHack
            GemischtesHack kommentierte
            Kommentar bearbeiten
            kannst du mir deinen genauen code mal schicken?
            Und kommen die Sachen auch im UDP Monitor an? Weil dort seh ich sie, nur wirft das Programm nix aus.

          • romildo
            romildo kommentierte
            Kommentar bearbeiten
            Der code steht ja schon in Post #1
            bei "server-adresse" habe ich nichts eingetragen, also sowie in Post#2.
            Port muss ein Port sein, welcher nicht schon in Loxone vorhanden ist.
            Im UDP Monitor sind die Daten von diesemport nicht zu sehen.
            An Stelle von sleep(100) habe ich sleep(10) eingestellt.
        Lädt...