Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > Запись с сокета в файл


Автор: DiverD 24.4.2006, 20:56
Код

#!/usr/bin/perl 
use IO::Socket;
#use strict;
#use warnings;

my $server = "127.0.0.1";
my $nick = "www";
my $user = "aaaaa localhost localhost: aaaaa";
my $src_port = '54672';
my $dst_port = '6667';
my $channel = "#test";

my $sock = new IO::Socket::INET(PeerAddr => $server,LocalPort => $src_port,PeerPort => $dst_port,Proto => 'tcp') or die "Can't connect\n";

print $sock "nick $nick\n";
print $sock "user $user\n";
open(FILE,">LOG");
 while (<$sock>) {
    print $sock "join $channel\n";
    print FILE $_;
}



почему не пишет в файл и как заставить это зделать?

Автор: nitr 24.4.2006, 21:42
для ирк-протокола ничего не придумывай... используй Net::IRC 

Автор: DiverD 25.4.2006, 18:10
nitr
а что так ни чего не зделать? ну можно же ну!!!! (я так думаю =)))
я не хочу пользоваться модулями дополнительными. так бы у меня вопроса не возникло!!

Добавлено @ 18:11 
а может написать серверную часть чтоб слушала src_port и усё буде "Z" ??? я проста не пробовал но подумал. 

Автор: Lat1n0S 10.5.2006, 21:21
Код

#!/usr/bin/perl
use IO::Socket;
#use strict;
#use warnings;
my $server = "127.0.0.1";
my $nick = "www";
my $user = "aaaaa localhost localhost: aaaaa";
my $src_port = '54672';
my $dst_port = '6667';
my $channel = "#test";
my $sock = new IO::Socket::INET(PeerAddr => $server,LocalPort => $src_port,PeerPort => $dst_port,Proto => 'tcp') or die "Can't connect\n";
print $sock "nick $nick\n";
print $sock "user $user\n";
open(FILE,">>LOG");
 while (<$sock>) {
    print $sock "join $channel\n";
    print FILE "$_\n";
}
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)