c kapcsolattesztelõ daemon

Kezdőlap Fórumok Programozás c kapcsolattesztelõ daemon

5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • #1981467
    tovis
    Felhasználó

      Hát a daemon programozást csak megkerülni tudom. Használd az /etc/inittab-ot, biggyeszd oda a scriptumod meghívását, amiben lehet ciklus, és keress valami olyan egyszerû progit, mint mundjuk a ping, amelyiknek tudod értelmezni az outputját egy grep-el, ha csomagvesztés, áll fenn akkor kell valamit lépned – te tudod mit.
      Hasonló problémát oldottam meg GPRS-en, PPP kapcsolattal, ahol ha a kapcsolattartó progim nem kap nyugta választ, kilép egy 0-tól eltérõ értékkel amit figyel az õt meghívó scriptum, lebontja a kapcsolatot (akér van akár nincs) és némi várakozés után (5 sec) újra építi.
      Azért nem adom a scriptet mert nagyon „zöld” ráadásul még abban sem vagyok biztos hogy így helyes-e mivel az én esetemben a PPP 30 sec -ként küld egy „alive” csomagot és ezt benyomja a /var/log/syslog-ba, csakhogy ezt nem tudom olvasni mint gyalog user, illetve lehet hogy a GPRS peer-t „látom” de a célállomást nem (saját APN – olyan mint egy kis LAN, de sokkal megbízhatatlanabb).
      Apropó te nem tudod hol lehet kikapcsolni ezt a PPP alive csomag küldözgetést?

      #1981468
      ds
      Felhasználó

        Elég rég írtam c programot, és az is inkább struktúrális,mint gyakorlati volt. 🙂
        Szeretnék egy minimális démont írni, ami egy hálózati interfészen keresztül állítható gyakorisággal csomagokat küld egy másik gépre, ahol egy másik daemon fogadja azokat. Továbbá ellenõriznie kell más IP címek elérhetõségét. Ha pedig valahol az adatáram megszakad, reagálnia kell.

        Nem nagy script, de még azt sem tudom, melyik könyvtár tartalmaz ilyen jellegû mûveleteket. Gondolom az összes általam használni kívánt funkció már implementálva van … de hol?

        Tehát ha tudtok olyan címeket mondani, ahol minimál net-kommunikációs és daemon programok, leírások vannak – az sem baj, ha épp magyar 🙂 – megköszönném. Az is jó, ha csak pár kulcsszót mondotok, amivel már szûkíthetem a google-t.

        Elõre is köszi
        [align=right][snapback]93874[/snapback][/align]

        akkor ezzel talán el tudsz indulni:

        Code:
        #include
        #include
        #include
        #include
        #include
        #include

        void main(void)
        {
        int sock,a,nsock,hossz;
        struct sockaddr_in addr;
        char *buff=new char[50];
        addr.sin_family = AF_INET;
        addr.sin_addr.s_addr = INADDR_ANY;
        addr.sin_port = htons(15000);
        sock=socket(PF_INET,SOCK_STREAM,0);
        bind(sock,(struct sockaddr *) &addr,sizeof(addr));

        listen(sock,0);

        hossz=sizeof(struct sockaddr_in);
        sock=accept(sock,(struct sockaddr *) &addr,(socklen_t *) &hossz);
        printf(„Acceptedn”);
        while (recv(sock,buff,sizeof(buff),0)!=0)
        {  printf(„%s”,buff);
          send(sock,buff,sizeof(buff),0);
          bzero(buff,50);
        };
        close(sock);
        };

        nem túl szép de igy hirtelen talán megteszi
        a démon kérdéshez meg: man daemon

        (jah elsõ körben lehet tesztelni igy is (ha még valakinek ez új) echo ok > /dev/tcp/localhost/15000 )

        #1981469
        linuxforum
        Felhasználó

          Köszi, valami ilyensmire gondoltam! Neki is látok.

          Köszi tovis-nek is az ötletet, egész jó! Kár, hogy néhol adatot is cserléni akarok, különben lehet, hogy tovább halogatnám a c-t. De hát ebbe is el kell mélyedni elõbb vagy utóbb! 🙂

          #1981470
          tovis
          Felhasználó

            Köszi, valami ilyensmire gondoltam! Neki is látok.

            Köszi tovis-nek is az ötletet, egész jó! Kár, hogy néhol adatot is cserléni akarok, különben lehet, hogy tovább halogatnám a c-t. De hát ebbe is el kell mélyedni elõbb vagy utóbb! 🙂
            [align=right][snapback]94201[/snapback][/align]

            Nincs mit! 🙂

            #1876782
            csaba
            Felhasználó

              Elég rég írtam c programot, és az is inkább struktúrális,mint gyakorlati volt. 🙂
              Szeretnék egy minimális démont írni, ami egy hálózati interfészen keresztül állítható gyakorisággal csomagokat küld egy másik gépre, ahol egy másik daemon fogadja azokat. Továbbá ellenõriznie kell más IP címek elérhetõségét. Ha pedig valahol az adatáram megszakad, reagálnia kell.

              Nem nagy script, de még azt sem tudom, melyik könyvtár tartalmaz ilyen jellegû mûveleteket. Gondolom az összes általam használni kívánt funkció már implementálva van … de hol?

              Tehát ha tudtok olyan címeket mondani, ahol minimál net-kommunikációs és daemon programok, leírások vannak – az sem baj, ha épp magyar 🙂 – megköszönném. Az is jó, ha csak pár kulcsszót mondotok, amivel már szûkíthetem a google-t.

              Elõre is köszi

            5 bejegyzés megtekintése - 1-5 / 5
            • Be kell jelentkezni a hozzászóláshoz.