Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6263[/thread]

IO::Poll Beispiele?

Leser: 1


<< >> 6 Einträge, 1 Seite
sri
 2004-05-17 12:46
#82463 #82463
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,

Habe die gleiche frage bei den Monks gepostet leider ohne erfolg, vielleicht hat hier ja jemand ne idee. ;)

Ich suche ein IO::Poll Beispiel für einen server.

Ein funktionierender (aber leider zu kleiner) client ist in Network Programming with Perl von Lincoln D. Stein zu finden.

IO::Poll dürfte wohl das am wenigsten benutzte und am schlechtesten dokumentierte core Modul sein. :(

Für die die es nicht kennen, IO::Poll ist so ähnlich wie IO::Select, allerdings benutzt es ein array struct statt einem vektor zum verwalten der Filehandles, so kann es wesentlich mehr Filehandles verwalten.\n\n

<!--EDIT|sri|1084814539-->
sri
 2004-05-18 14:28
#82464 #82464
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Um meine Frage selber zu beantworten, die dierekte nutzung von IO::Poll in Verbindung mit non-blocking IO ist unglaublich kompliziert, niemand sollte sowas in Perl schreiben müssen. ;)

Es sind nicht nur die Massen von Code die zu schreiben sind, sondern auch Bugs in Perl die Ich leider finden musste. :(

Low level IO mit Perl: eines der letzten grossen Abenteuer dieser Welt! *lol*

Glücklicherweise kann POE transparent zwischen select() und IO::Poll wechseln! :)\n\n

<!--EDIT|sri|1084876468-->
steve
 2004-05-18 15:04
#82465 #82465
User since
2004-03-04
52 Artikel
BenutzerIn
[default_avatar]
darf man fragen, an wieviele FDs du denkst?

steve
sri
 2004-05-18 16:24
#82466 #82466
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=steve,18.05.2004, 13:04]darf man fragen, an wieviele FDs du denkst?

steve[/quote]
An ein paar tausend. ;)
steve
 2004-05-18 17:15
#82467 #82467
User since
2004-03-04
52 Artikel
BenutzerIn
[default_avatar]
Falls du wirklich nicht mit IO:Poll zurecht kommst, dann kannste notfalls immernoch einen neuen Kernel kompilieren bei dem du FD_SETSIZE? hochsetzen kannst.

steve
sri
 2004-05-18 20:53
#82468 #82468
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=steve,18.05.2004, 15:15]Falls du wirklich nicht mit IO:Poll zurecht kommst, dann kannste notfalls immernoch einen neuen Kernel kompilieren bei dem du FD_SETSIZE? hochsetzen kannst.

steve[/quote]
Wie schon geschrieben, hab ichs bereits hinbekommen. ;)

Das problem ist nicht der Kernel, FD_SIZE lässt sich heutzutage dynamisch via /proc/sys/fs/file-max ändern. :)

Das Problem ist select(), welches einen vektor zum speichern der fd's benutzt, also eine feste Grenze hat, diese liegt wenn ich mich recht erinner auf 32bit systemen bei 256.\n\n

<!--EDIT|sri|1084899346-->
<< >> 6 Einträge, 1 Seite



View all threads created 2004-05-17 12:46.