Perl Sockets

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Yurich
Сообщения: 104
Зарегистрирован: 23 фев 2004, 19:07

26 фев 2004, 13:45

[quote="Рr00J3ct10n"]Недавно начал изучать Perl и столкнулся с такой проблемой

#!c:/Perl/bin/perl.exe -w
use IO::Socket]

Для начала попробуй убрать пробелы между 'INET', '->' и 'new'.
Yurich
Сообщения: 104
Зарегистрирован: 23 фев 2004, 19:07

26 фев 2004, 13:54

Рr00J3ct10n писал(а):На ActivePerl ActivePerl-5.8.3.809-MSWin32-x86 винХР Выдаёт Unknown Error at socket.pl line 3 я так понимаю я не подключил библиотеку или что? Подскажите Плиз! :roll:
А во-вторых, у тебя по адресу 192.168.0.1:13 кто-нить принимает коннекции? Замени в своем примере свой адрес на http://www.perl.org:80 и все заработает...
Аватара пользователя
AiK
Сообщения: 2274
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

26 фев 2004, 17:52

Гость, во-первых sock не определён. Во-вторых, чтобы из этого сокета прочитать что-то ненужное, надо туда заслать что-то ненужное :) См. методы send и read.
beholder
Сообщения: 3
Зарегистрирован: 17 фев 2004, 10:24

01 мар 2004, 16:36

Попробывал,поменял,получилось:
use IO::Socket;
$sock = IO::Socket::INET->new(Proto=>'tcp',PeerAddr=>'www.perl.org',PeerPort=>80) or die "Cannot create socket!!!\n";
while(<sock>){print;}
теперь пишет readline() on unopened file handle sock
а вообще то это мой локальный адрес и служба daytime в ХР доступна на 13 порту как то это всё странно
Ну вообще-то для начала <sock> лучше заменить на <$sock>
А в дальнейшем переходить все таки к read/write или sysread/syswrite
Diver mps
Сообщения: 20
Зарегистрирован: 25 фев 2004, 12:55
Контактная информация:

12 мар 2004, 09:55

Комрады... А вот такой вопрос.
Создаю
$sock= IO::Socket::INET->new(PeerAddr=>'192.168.*.**',PeerPort=>'23',
Proto=>'tcp',Type=>SOCK_STREAM);
#потом
while (<$sock>)
{
print "$_\n";
}

То есть банально пытаюсь вывести на STDOUT содержимое того, что логирует мини-атс...

Если просто подключаться через putty по этому IPшнику и 23 порту, то данные идут. А мне хочется чтоб они шли в лог - файл... Ну а в данном случае для начала, хотя бы на экран.
Проблема в том, что после запуска скрипта 23 порт мини-атс'ки вешается и приходится делать reboot атс'ке.
Мини-атс LG LDK-100.
Все это усугубляется тем что я полный ламер в перле и все делаю по "докам", "факам" и примерам.
В чем грабли?
Ответить