![]() |
|
|
Mehrere Sockets parallel abfragen
Ein anderes Thema der Socketprogrammierung ist die parallele Bearbeitung
mehrerer Ports durch einen einzigen Prozess. Ein Beispiel für ein solches
Programm ist
#include <sys/time.h> #include <sys/types.h> #include <unistd.h> int select(int MaxHandle, fd_set *Lesen, fd_set *Schreiben, fd_set *OutOfBand, struct timeval *TimeOut);
Zentrale Objekte sind in diesem Zusammenhang die Dateideskriptorenarrays.
Von diesen nimmt Sollen die Sockets a und b zum Lesen beobachtet werden, dann muss ein fd_set angelegt und damit gefüllt werden:
fd_set lesesockets;
FD_ZERO(&lesesockets); FD_SET(a, &lesesockets); FD_SET(b, &lesesockets);
maxHandle = max(a, b) + 1;
select(maxHandle, &lesesockets, NULL, NULL, NULL);
struct timeval myTime; ... myTime.tv_sec = 0; myTime.tv_usec = 100000;
select(maxHandle, &lesesockets, NULL, NULL, &myTime);
Die Fähigkeit von
|
|
Copyright © Rheinwerk Verlag GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken.
Ansonsten unterliegt das Openbook denselben Bestimmungen wie die gebundene Ausgabe:
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie
Einspeicherung und Verarbeitung in elektronischen Systemen.
Nutzungsbestimmungen | Datenschutz | Impressum
Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de
Cookie-Einstellungen ändern