Показать сообщение отдельно

!
  #9  
Старый 30.10.2008, 16:47
zer0ska
Участник форума
Регистрация: 05.12.2007
Сообщений: 113
Провел на форуме:
252598

Репутация: 34
Lightbulb !

Вот так сказать последняя версия :-)
Код:
#!/usr/bin/perl
use threads;
use Socket;

$p   = '139';
$sip = '192.168.0.';

for(1..255) {
	$ip = '192.168.0.'.$_;
	$thr[$_]=threads->create(\&conn, $ip, $p, SOCK)->join;
	
}
sub conn {
	socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
	$iaddr = inet_aton($ip);
	$paddr = sockaddr_in($p, $iaddr);
	
	if(connect(SOCK, $paddr)) {
                print $ip."\r\n";
                close(SOCK);
		return;

        }
        else {
        	close(SOCK);
		return;
        }

        # send (SOCK, "", 0);
	return;
}
посоветуйте как по грамотней распределять потоки потому что диапазон может быть не только от 0 до 255 но и больше а создавать 1000 потоков имхо не есть гуд )
Как лучше создовать сокет внутри фнкции или создать один а в функции юзать только connect ?
 
Ответить с цитированием