Приветсвую всех! Хотел спросить у ГУРУ: каким образом на Perl можно организовать копирование дескрипторов (сокетов)? Суть такая, что есть 2 программы: первая работает в качестве демона и слушает определенный порт, на который поступают команды от второй программы на установку соединения с нужным сервисом (IP+port). Вторая программа после отправки команды и получения ответа разрывает связь с первой, но первая программа продолжает поддерживать установленные соединения с сервисами. В качестве ответа во вторую программу передается ID канала (выбирается произвольно), и если вторая хочет отправить первой дополнительную команду на сервис, с которым уже было установлено соединение, она отправляет его на соответсвующий ID: для этого в первой проге создается массив сокетов: @SOCK;
while (accept(CLIENT, SERVER)) { # do something with CLIENT }
Каким образом можно скопировать дескриптор сокета CLIENT в $SOCK[0]? B как его потом использовать в коде вида $f = <CLIENT>;
Через скаляр работает: $SOCK = *CLIENT; $s = <$SOCK>;
Но я хотел бы использовать массив: $SOCK[0] = *CLIENT; $s = <$SOCK[0]>; И это уже не прокатывает
В чем косяк? Надеюсь на вашу помощь!!!!