обмен данными между серверами.,,

Dozer009

Новичок
Доброе время суток Уважаемые форумчане!

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

моя схема ( может кто посоветует лучше, знаю можно через Sql , не подходит)
ГЛАВНОЕ!! все должно обработаться в одном запросе.
1) первый код отправляет через get в запросе данные и ждет какого либо содержимого в файле test.txt
2) приемный сервер получает их ... обрабатывает
3) также через GET отправляет обработанные данные файлу get.php
4) происходит запись данныx файлом get.php в test.txt
5) в это время index.php (первый файл) с периодичностью проверяет на наличие записи test.txt
6) как появилась запись , считал и обработал

вот самое то место sleep(0.5); где может зациклиться и зависнуть скрипт , кто предложит лучшее решение данного вопроса

буду очень признателен!

1) скрипт
PHP:
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<?php
//определяем константу для имени файла
define('FILENAME', 'test.txt');
while(true) {
// проверяем наличие содержимого в файле, считывая содержимое файла в строку
  if (file_get_contents(FILENAME) == "") {

  echo "Упсс пусто! )!!";
  sleep(0.5);
  }else
  {
  echo" wow записали чего то ";
  break;
  }
}
?>
2) скрипт get.php
PHP:
<?php
// имя файла, в который производиться запись POST или GET запроса
$filename = "test.txt";
// имя поля в POST или GET запросе
$name_var='request';
// проверка существования файла
if (file_exists($filename)) {
  // если файл существует - открываем его
  $file = fopen($filename, "w+");
} else {
  // если файл не существует - создадим его
  $file = fopen($filename, "w+");
}
// данные из поля $name_var в POST или GET запросе
//$text = $_POST[$name_var];
$text = $_GET[$name_var];
//(раскомментируйте нужную строку)
// записываем строку в файл
fwrite($file, $text);
// закрываем файл
fclose($file);
// ответ скрипта на запрос
echo "The request was accepted";
?>
 

DIG

Новичок
Партнер клуба
В данном случае лучшее решение - пересмотреть архитектуру приложения. Но это только ИМХО.
 

Dozer009

Новичок
да нагородил огород!

PHP:
// дополняем массив с данными файлами
    foreach($files as $k => $file) {
        $postData[$k] = '@' . $file;
    }
    // создаем подключение
    $ch = curl_init('http://digitorum.ru/system/php/Scripts/Dev/fileReceiver-php.php');
    // устанавлваем даные для отправки
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    // флаг о том, что нужно получить результат
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // отправляем запрос
    $response = curl_exec($ch);
    // закрываем соединение
    curl_close($ch);
    
    var_export($response);
вот решение сией проблемы!
 
Сверху