LINUX.ORG.RU

perl. пример кода который читает из сокета


0

0

нужно реализация следующего:

вот к примеру мы соединилис с каким либо tcp портом на котором какой то сервис , неважно какой

мне надо писать и читать из сокета, писать то проблем нет, а вот читать, я незнаю сколько данных придёт, и ещё нужна возможность выхода по таймауту, если сервер неотвечает ...

anonymous

а зачем тебе знать, сколько придет, это ж не си.

while (1) { send(SOCK, 'some query', 0) || die "server doesn't respond"; my @data = <SOCK>; }

и разбираешь @data

anonymous
()
Ответ на: комментарий от anonymous

а зачем тебе знать, сколько придет, это ж не си.

while (1) {
  send(SOCK, 'some query', 0) || die "server doesn't respond";
  my @data = <SOCK>;
}

и разбираешь @data

anonymous
()
Ответ на: комментарий от anonymous

а тайм аут ?

я видел примеры с использованием select, хотя я не совсем понимаю как там это работает

anonymous
()

Блин, это же просто элементарно...
Короче, идешь и качаешь вот это - http://www.nixp.ru/cgi-bin/go.pl?q=soft;s=network_msg;p=0#1 (если линк к тому времени просрется... там чето все висит у нас на хостинге)
Выдергиваешь из кода то что тебе нужно.
Предупреждаю, что все кроме сетевого кода там отстой ибо писал я это ой как давно...

Удачи,
Алекс

godexsoft
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.