![]() |
Модераторы: ginnie, korob2001 |
![]() ![]() ![]() |
|
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: нет Всего: 14 |
Делаю по книжке и примерам в интернете, такой вот код:
На 192.168.0.1 вижу ESTABLISHED к 23 порту, но программа виснет на print while(<$socket>); (в любой комбинации, пробовал и переменной присваивать <$socket>), а я рассчитывал на что-то типа "login: " на выходе. Нигде на просторах интернета пока не нашел подобной проблемы. ActivePerl на Windows, удаленый хост -- FreeBSD. |
|||
|
||||
Pfailed |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
Что если перед началом чтения из сокета вставить нижеследующий код?
|
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: нет Всего: 14 |
||||
|
||||
Pfailed |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
Тогда попробуйте читать из сокета с помощью sysread()
|
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: нет Всего: 14 |
Пробовал таким способом:
на выходе 8-10 символов "мусора". Попробовал запустить на FreeBSD -- результат такой-же. Сам telnet-сервер нормально работает. |
|||
|
||||
Pfailed |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
Видимо в этих восьми байтах приходит одна из telnet команд. Ознакомьтесь со спецификацией протокола telnet.
Помимо этого можно попробовать использовать готовое решение, есть Net::Telnet |
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: нет Всего: 14 |
Про Net::Telnet я знаю, с ним все нормально работает, дело не в самом телнете а именно в сокете, телнет как простой пример.
Попробовал на http, отправил на 80 порт GET ... и получил результат обычным текстом, видимо все-таки придется ознакомиться со спецификацией telnet. |
|||
|
||||
srl |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Может просто в сокете нет ничего, и оно блокируется?
Попробуй неблокирующее чтение (сегодня я всем советую неблокирующее чтение, да ![]() |
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: нет Всего: 14 |
Спасибо, уже разобрался fork-ом.
А вообще, не в стране советов живем, можно и примером поделится. ![]() Это сообщение отредактировал(а) alezzz - 21.1.2011, 08:55 |
|||
|
||||
srl |
|
||||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Угу, у нас страна примеров... 8)) У-у, демон. ![]()
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Perl: Системное программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |