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

Kommunikation 2er Programme (nicht Kind-Prozess) (Seite 2)

Leser: 2


<< |< 1 2 >| >> 17 Einträge, 2 Seiten
Mates
 2007-12-02 00:16
#103375 #103375
User since
2006-08-15
21 Artikel
BenutzerIn
[default_avatar]
Hmm mit dem $^E bekomm ich folgende Meldung:
Quote
Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte

An der Firewall legit es aber nicht oO

/edit: Ja Windows

/edit2: Wenn ich dem Client eine einfache Printausgabe verpasse (ohne $sock), gibt er mir die Ausgabe aus ohne die Fehlermeldung? Ist das gut oder schlecht? oO

/edit3: Macht es einen Unterschied ob ich mehrere parallele Eingänge via Select oder via Fork handhabe? Da kämme mir mein Fork-Wissen jetzt sehr gelegen :D
Mates
 2007-12-03 00:51
#103389 #103389
User since
2006-08-15
21 Artikel
BenutzerIn
[default_avatar]
Ok ich nochmal. Hab irgendwie ein Problem mit meinem Fork. Wenn ich folgenden Code laufen und 2 Programme drauf zugreifen lasse, so führt er das 2. Programm erst aus, wenn das 1. beendet ist. Wieso? Landet das 1. Programm doch im Mutterprozess oder was is da faul?
Nicht haun, ist nur ein Lernskript:
Code (perl): (dl )
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
my $PId = undef;

while ( $new_sock = $sock->accept() ) {

        if ( defined ( $PId = fork() ) ) {

                if ( $PId ) {

                        open(DATEI, "> DATEI$$.txt");
                        
                        while ( defined ( $Data = <$new_sock> ) ) {

                                chomp ( $Data );
                                print DATEI "Data\n";

                        }
                        
                        close(DATEI);
                        exit;

                }

        }

}

close ( $sock );
Gast Gast
 2007-12-09 13:47
#103648 #103648
Hey weiss da keiner nen Rat? :(
Ich weiss jetzt, das das Problem beim schreiben der Datei liegt. Entferne ich den Teil, funktioniert es!
Die $$ im Dateinamen hab ich extra drin, um verschiedene Dateinamen zu bekommen.
Also es werden 2 verschiedene Dateien erstellt, wieso funken die sich trotzdem gegenseitig rein?
Froschpopo
 2007-12-09 13:52
#103650 #103650
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
kann Windows überhaupt korrekt forken?
Ich hab unter Xp ständig Probleme damit.
Gast Gast
 2007-12-09 14:39
#103655 #103655
Was für Probleme? Hab zwar von gelesen, aber das war ein alter Eintrag, dachte das hätte man bis jetzt hinbekommen, da das forken ja anscheinend funktioniert?!?!
Wenn ich das gleiche nur mit Schleifen mache, funktioniert es. Anscheinend oO
Oder muss ich da effektiv die Win32 Module nutzen?
Froschpopo
 2007-12-09 14:51
#103656 #103656
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich hab grad mal recherchiert... offensichtlich sind meine letzten Versuche schon etwas länger her.
Ab V. 5.6. funktioniert fork() wohl auch auf Win
http://www.heise.de/ix/artikel/2000/05/178/
Gast Gast
 2007-12-09 14:59
#103657 #103657
Erfreulich! Hmm in gleichen Thread... Das könnte das Problem sein?
Probier mich gerade mit Threads, mal schaun was da rauskommt.
Ansonsten müsste ich wohl ein eigenen Child aufmachen, der die Schreibzugriffe nacheinander abarbeitet. Allerding bez blöd für die Intensiveren Schreibvorgänge...
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2007-11-30 20:55.