Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Многократная передача POSTом в .php файл (http://www.flasher.ru/forum/showthread.php?t=208954)

Кирпич 24.09.2014 15:32

Многократная передача POSTом в .php файл
 
Добрый день! Совсем недавно я начал учиться работать на РНР. И у меня возник вопрос: можно ли много раз передавать данные из flash в РНР, загрузив .php файл всего один раз?
Мне нужно, чтобы после каждой передачи РНР выполнял нужные мне действия (или функцию).
Сперва я пробовал организовать бесконечный цикл:
PHP код:

<?php
$code 
"";
while (
true){
if(
$_POST['ccode'] != ""){
   
//мои действия
   
$code "Ввод " $_POST['ccode'];
   
$_POST['ccode'] = "";
   print 
"code=" $code//подтверждение ввода данных
}
}
?>

Но этот код не работает. А когда я закрываю ролик, выводит такую ошибку:
Error #2044: Необработанный ioError:. text=Error #2032: Ошибка потока. URL: http://localhost/myprog/
at _fla::MainTimeline/frame1()

Сейчас у меня в коде для того, чтобы отправить новые данные, .php файл загружается заново.
Так вот, я хотел бы узнать, существует ли вообще такая возможность - отправлять данные в любое время в однократно загруженный .php файл, или это невозможно??

Заранее спасибо!

Korchy 24.09.2014 20:54

PHP он в принципе такой - скрипт выполняется, а потом умирает.
То что, насколько я понимаю из твоего примера, ты пытаешься изобразить, называется обменом данных через сокеты. Сокеты можно организовать и на php, если хорошо знаешь этот язык, но лучше на каком-нибудь более быстром языке - С, С++ ну или на java довольно легко организуется.

caseyryan 24.09.2014 21:42

Цитата:

while (true)
вот эта конструкция явно не для php
у апачи в конфигах прописано максимальное время выполнения скрипта, а эта конструкция вообще не предусматривает остановки. Значит сервер ее сам рубанет по истечению таймаута

Korchy 24.09.2014 22:08

Цитата:

Сообщение от caseyryan (Сообщение 1172462)
вот эта конструкция явно не для php

set_time_limit решает эту проблему :)
Сокет на С++ будет работать гораздо лучше, но и на рнр вполне работоспособно.

caseyryan 25.09.2014 08:49

Цитата:

set_time_limit
Да. Но в этом случае это будет скорее костыль, чем нормальное решение.

Korchy 25.09.2014 10:24

Цитата:

Сообщение от caseyryan (Сообщение 1172477)
Да. Но в этом случае это будет скорее костыль, чем нормальное решение.

А в чем принципиальная разница? И в том и в другом случае два раза форкаемся, create_socket, bind и встаем на listen. Где костыль?

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


Часовой пояс GMT +4, время: 21:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.