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

Buffer überlauf bei threads und Socket verbindunge

Leser: 1


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
foilo
 2007-08-04 05:09
#97478 #97478
User since
2007-08-05
5 Artikel
BenutzerIn
[default_avatar]
Hallo lieber Perl-Community :)

nun muss ich leider auch mal nerven, da ich patu mit meinem Script nicht weiterkommt.

Ich möchte ein script erstellen was eine ipliste einliest, und mir den banner des Port's ausgibt. Da ich zeitsparen möchte, wird das alles per threads gelöst.

Das script ansich funktioniert einbahnfrei und ich bin soweit zufrieden, das einzige problem ist nun das ich beim ~100-150 Child ne Fehlermeldung von Windows bekomme: Fehlermeldung

Code: (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
28
29
30
31
32
33
34
35
use threads;
use IO::Socket;

open(IPS, "$ARGV[0]");
my @target = <IPS>;
close(IPS);

my $process_this_many = @target;
my $max_threads = "20";
my $worker = 0;

while ($worker <= $process_this_many) {
for (my $x = 1; $x <= $max_threads && $worker <= $process_this_many; $x++) {
$thr = threads->new(\&sub1, "$target[$x]");
#print "Start $x $worker\n";
$worker++;
}

# Loop through all the threads
foreach $thr (threads->list) {
# Don't join the main thread or ourselves
if ($thr->tid && !threads::equal($thr, threads->self)) {
$data = $thr->detach;
#print "$data\n";
}
}
}

sub sub1 {
my $t = shift;
$con = IO::Socket::INET->new(Proto => "tcp", PeerAddr => "$t", PeerPort => "3306" , Timeout => 5) || die "\n+ Connection failed...\n";
while($ams = <$con>) { print $_ }
shutdown($con,2);

}



Ich dank schon mal alle die sich mit dem problem befassen und währe für hilfe mehr als nur dnakbar
foilo
 2007-08-04 12:36
#97480 #97480
User since
2007-08-05
5 Artikel
BenutzerIn
[default_avatar]
Nein ich benutze beides nicht, das gepostet script ist komplet und es fehlt nischts
#Kein Kommentar
 2007-08-04 12:16
#97485 #97485
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
benutzt du use strict oder use warnings?
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
PerlProfi
 2007-08-04 12:36
#97486 #97486
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Ich meine mal was gelesen zu haben, dass man bei Windows nicht so viele threads erstellen kann, also das es da eine Grenze gibt so zwischen 100-200.
RPerl
 2007-08-04 12:44
#97487 #97487
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Das selbe hatte ich schon mit LWP Modulen.
Als Tipp: Installier erstmal die neuesten Module von cpan, die du benoetigst. Dann, wenn der Fehler noch besteht, wechsel auf eine aeltere Perl Version und schau was sich dort tut.
foilo
 2007-08-04 13:47
#97492 #97492
User since
2007-08-05
5 Artikel
BenutzerIn
[default_avatar]
Also ich hab es nun mal mit verschiedene Perl Versionen [5.6.1 ; 5.8.0; 5.8.8] leider läuft alles auf das selbe hinaus, wovon die 5.8.8 noch am stabilsten/längsten läuft.

//Edit: Also ich benutz meist auch nich mehr als 20 threads, somit sollten auch nur max 20 gleichzeitig offen sein.
pq
 2007-08-04 13:58
#97493 #97493
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
foilo+2007-08-04 10:36:28--
Nein ich benutze beides nicht, das gepostet script ist komplet und es fehlt nischts

das solltest du aber. siehe Wiki:UseStrict
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
foilo
 2007-08-04 14:49
#97496 #97496
User since
2007-08-05
5 Artikel
BenutzerIn
[default_avatar]
Alles klar, ich ab nun use stric drin, und die 3 fehlenden 3 Varablen deklariert.

Leider tritt das problem immer noch auf :(
foilo
 2007-08-05 23:22
#97583 #97583
User since
2007-08-05
5 Artikel
BenutzerIn
[default_avatar]
Also ich würde gerne mal wissen wiso mein Account hier gespeert wurde, da ich gegen keinerlei Regeln verstoßen hab find ich das ziemlich diskriminierend.

Schade drum das mir hier auch keiner helfen kann, eignetlich woltle ich noch dazuschreiben das ich unter unix folgenden fehler bekomme:

/bin/sh: line 4: 29343 Speicherzugriffsfehler
renee
 2007-08-06 00:31
#97593 #97593
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Sorry, war mein Fehler... Ich hatte einmal zu schnell geklickt, und als ich meinen Fehler bemerkt hatte, war es zu spät!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2007-08-04 05:09.