| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > Помогите с логикой работы клиента |
| Автор: errr 19.9.2007, 20:38 | ||||
| Есть клиент для некого сервера. Который можеть посылать: "4","5","6" Код клиента:
Опишу сервер: Сервер может посылать сообщения: "1","2","3". Причем он их посылает как ответ клиенту на его сообщения, так и самостоятельно без действий клиента (допустим, сообщает свой статус). Вопрос. Как бы сделать наиболее оптимально следующую вещь: Переслать сообщение "4" и потом, в зависимости от ответа сервера, переслать сообщение "5" или "6" В данный момент у меня сделано примерно так:
Но в реальной жизни этих функций в десятки раз больше, вот я и думаю, может у того кто занимался подобными проблемами есть какие-то наработки. То есть, послать, послать->принять это не проблема, а вот с послать->принять->послать-> уже хуже Спасибо! |
| Автор: Nab 20.9.2007, 11:00 |
| Так как я понял вашу проблему, то вам необходимо использовать метод конечных автоматов, ну или машину состояний, каждый по разному называет... Есть модули на CPAN реализующие такие вещи, также POE построен по похожему принципу, можете с ним ознакомиться, ну а лучше погуглите на словосочетание "метод конечных автоматов"... |