- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите, в каком направлении копать...
Имеется сайт(страница) www.au-to.ru/index11.html
Посетитель заполняет форму - отправляет на сервер - там принимает .pl-файл, который запускает .exe-файл - результаты расчета пишутся в текстовый файл - из него результаты читаются, и формируется .html-страница с ответом, которая отправляется назад посетителю на страницу сайта и помещается во фрейм...
Проблема - если одновременно 2 разных посетителя проводили 2 разных расчета, то один из них может получить к себе во фрейм чужой результат...
Подскажите, какие есть пути решения (я в этом совсем новичок, но постараюсь разобраться)
там принимает .pl-файл, который запускает .exe-файл
судя по всему, получает pl и запускает perl.exe....
если не хочется обойтись без файлов, то как пример, использовать ID сесси, или текущее время в секундах, который и использовать в качестве имени выходного файла....
Но если говорить о примере, то гда там pl и exe?
PS даже не надейтесь что кто-то будет такую форму заполнять.....
мне кажется самым нормальным решением будет работать через пайп, а не файл.
Если есть автор exeшки, попросите его переделать запись рассчетов не в файл а в stdout. А из скрипта получить результат будет не проблема.
Если автора нет - скорее всего все плохо :)
ps. А вообще не совсем понятно зачем нужен exe? Скриптом рассчет сделать нельзя?
Если есть автор exeшки, попросите его переделать запись рассчетов не в файл а в stdout.
Автор - есть, это - я. Раньше так и было - "в stdout". Но "перехват" чужих результатов расчета все равно был...
ps. А вообще не совсем понятно зачем нужен exe? Скриптом рассчет сделать нельзя?
Скриптом расчитать нельзя... exe-файл среди прочего находит кратчайший маршрут по городу... ни один скрипт с такой задачей не справится, как я думаю...
rootv добавил 06.05.2010 в 00:27
использовать ID сесси
Вот-вот-вот... это из какой области?! Связано с куками? Что читать?!
или текущее время в секундах, который и использовать в качестве имени выходного файла....
или IP... Но это тоже не склеивается... В конце концов обработчик формы (perl) - один и тот же файл для разных посетителей, он выбрасывает страничку с результатом расчета во фрейм к посетителю сайта... И иногда два разных посетителя получают к себе во фрейм один и тот же ответ (если действовали одновременно, хотя задачки у них - разные)
PS даже не надейтесь что кто-то будет такую форму заполнять.....
PS Эту форму посетители с большим удовольствием заполняют уже 7 лет... но сейчас иногда они стали наступать друг другу на пятки...
Сталкивался с подобным когда-то.
У Перла есть функция семафоров, которые блокируют файл для записи, пока в него пишется один процесс. Потом блок снимается и может писаться другой процесс. Функции semget и semop, если не ошибаюсь. Поищите по запросам "perl семафоры" и т.п.
Сталкивался с подобным когда-то.
У Перла есть функция семафоров, которые блокируют файл для записи, пока в него пишется один процесс. Потом блок снимается и может писаться другой процесс. Функции semget и semop, если не ошибаюсь. Поищите по запросам "perl семафоры" и т.п.
Рассчет в один поток - это аморально. Все посетители будут стоять в "очереди", пока кто-то не посчитает что ему надо.
Автор - есть, это - я. Раньше так и было - "в stdout". Но "перехват" чужих результатов расчета все равно был...
Значит ошибка еще где-то была. Для каждого пользователя запускается своя копия программы со своими параметрами и другая копия никак не может повлиять на эту.
Скриптом расчитать нельзя... exe-файл среди прочего находит кратчайший маршрут по городу... ни один скрипт с такой задачей не справится, как я думаю...
Ну это Вы погорячились. Если Вы не можете - не значит, что никто не может 🚬
rootv, если честно, я воще не понял, откуда там взялось exe?
форма у Вас отправляется в ***.pl. При чем тут exe? почему pl скрипт сам не выводит все юзеру?
Может Вы очень неправильно настроили связку IIS-Perl (я же не думаю что извратились и на винду прилепили апач).
Возьмите перл для IIS http://www.activestate.com/activeperl/ и будет Вам счастье
или IP... Но это тоже не склеивается...
Почему не склеивается?
Всем огромное спасибо!
Простите, что не смог освоить всю предоставленную инфу...
но приемлемый практический выход нашел.
откуда там взялось exe?
форма у Вас отправляется в ***.pl. При чем тут exe?
Так внутри ***.pl и запускается exe, обмен данными между ними идет через запись/чтение текстового файла.
я же не думаю что извратились и на винду прилепили апач
...похоже, что именно так (если Вы имеете ввиду хостинг под Windows) - я ж самоучка...
или текущее время в секундах, который и использовать в качестве имени выходного файла....
Вот на этом я и сделал...
Т.е. просто (примитивно) создал 10 разных ***.pl-обработчикв формы, имя которых выбирается от времени загрузки страницы. Вероятность, что в одну и ту же секунду на кнопку "посчитать" нажмут 2 пользователя с одним и тем же случайно выбранным обработчиком - практически нулевая...
а использовать уникальное имя для текстового файл?
а использовать уникальное имя для текстового файл?
Вопрос в том - где происходит "перехлест"? - Внутри *.pl (тогда, возможно, и в процессе использования текстового файла) или после его завершения?
Проверить не могу, но склоняюсь к тому, что все-таки после выхода из *.pl.
Когда не понять, где происходит "сдвиг", вариант с разными *.pl - надежнее (для меня)