Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

mit Select auf pipe / Anwort warten

Empfohlene Antworten

Veröffentlicht

Hallo zusammen.

Ich hab wieder mal ein Problem.

Ich möchte über ein Pipe eine Verbindung zu einem PHP-script herstellen (funktioniert auch), dann übergebe ich ihm daten (funzt auch wieder) und bekomme dann wieder verarbeitete daten zurück (woohoo funzt schon wieder).

Jetzt möchte ich gerne, bevor mein Programm von PHP das ergebnis zurückbekommt ein select() machen (oder was auch immer dafür geeignet ist) mit einem timeout. es kann ja passieren, dass der php sich aufhängt und ich möchte dementsprechend reagieren.

mein ansatz schaud so aus, dass ich folgenden code drinn hab:

fd_set rset;

....

timeval timeout;

timeout.tv_sec=20;

FD_ZERO (&rset);

FD_SET (outfp, &rset);

status = select (outfp, &rset, NULL , NULL, &timeout);

/*STATUS AUSWERTEN*/

 ...

buflength = read(outfp, buf, 300);

Ich bekomme beim select jedoch -1 zurück.

Wie müsste es richtig ausschauen?

Danke im vorraus ;)

AAAAAAaaah ich glaub das war das problem :)

jetzt schaud es folgender masen aus:

 fd_set rset;

    timeval timeout;

    timeout.tv_sec=20;

    timeout.tv_usec=0;

    FD_ZERO (&rset);

    FD_SET (outfp, &rset);


    status = select (outfp+1, &rset, NULL , NULL, &timeout);


    *buf = '\0';....

(outfp+1 muss gestellt werden, da es heisd es muss der höchste FD +1 sein. ... hab ich so gelesen ^^)

Bearbeitet von Shamharoth

ou sry stimmt, ich hab es vergessen zu erwähnen. naja ich hoffe mal, dass durch den verbesserten code den ich im vorherigen post reingestellt weiterhelfen kann, wenn jemand mal nach select sucht (Fehler lag trotzdem an dem fehlenden Angeben von Millisekunden. hatte es auch mal mit outfp+1 und hatte den Fehlercode ausgespuckt ;) )

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.