Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

UNIX-Socket Multiplexing

Diskussion: UNIX-Socket Multiplexing im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Heyho! Fuer Multiplexing-Server - sprich 1 Prozess, der "zeitlgiech" mehrere Clienten bedient - nutze ich normalerweise folgendes Konstrukt: Code: ...

Antwort
Alt 18.07.09, 01:21   #1 (permalink)
 
Registriert seit: 06.01.07
keksinat0r Leistung: Facit NTK
Likes: 0
Standard UNIX-Socket Multiplexing

Anzeige

Heyho!

Fuer Multiplexing-Server - sprich 1 Prozess, der "zeitlgiech" mehrere Clienten bedient - nutze ich normalerweise folgendes Konstrukt:

Code:
use IO::Socket::INET;
use IO::Select;

my $socket = IO::Socket::INET -> new(
   proto => 'tcp',
   listen => SOMAXCONN,
) or die $!;

my $select = IO::Select -> new( $socket );

while( 1 ){
   foreach( $select -> can_read ){
      if( $_ == $socket ){
         $select -> add( $_ -> accept );
      }
      else {
         # client-anfrage bearbeiten...
      }
   }
}
Mit TCP-Sockets funktioniert das einwandfrei, wenn ich das ganze jetzt aber mit einem UNIX-Socket versuche:
Code:
use IO::Socket::UNIX;
use IO::Select;

my $socket = IO::Socket::UNIX -> new(
   type => SOCK_STEAM,
   local => '/var/tmp/sock',
   listen => SOMAXCONN,
) or die $!;

my $select = IO::Select -> new( $socket );

while( 1 ){
   foreach( $select -> can_read ){
      if( $_ == $socket ){
         $select -> add( $_ -> accept );
      }
      else {
         # client-anfrage bearbeiten...
      }
   }
}
und ein Client verbindet, spuckt mir 'can_read' jedesmal den Client-Socket aus, egal ob etwas auf den Socket geschrieben wurde oder nicht. Das ist eigentlich nicht sinn der Sache...

Warum funktioniert obiges Beispiel nicht?
Gibts eine Alternative Multiplexing-Loesung fuer UNIX-Sockets?

MfG
- Keks
keksinat0r ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » UNIX-Socket Multiplexing
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Aufbau von DES(UNIX) und MD5(UNIX) tr!-X Cryptography & Encryption 1 25.08.09 13:35
(Genaue) Unterschiede zwischen UNIX und Unix-Derivaten (zB Linux) acdc Linux/UNIX 3 19.03.09 10:44
Unix > alt acdc Linux/UNIX 2 25.10.07 22:43
XML Socket 10110010 (Web-) Design und webbasierte Sprachen 9 05.09.06 00:14
was für ein Unix eriksn Linux/UNIX 16 04.12.04 12:36


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61