Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обмен данными между серверами....

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dozer009
Отправлено: 09 Сентября, 2016 - 12:14:32
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Сент. 2016  


Помог: 0 раз(а)




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

хотелось узнать как можно реализовать схему обмена какими либо данными между двумя серверами!обмен данными в одном запросе, переслать с одного сервера данные на обработку другому и получить ответ! вернее когда пользователь обращается к сайту, его 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:
скопировать код в буфер обмена
  1. <META content="text/html; charset=utf-8" http-equiv=Content-Type>
  2. <?PHP
  3. //определяем константу для имени файла
  4. define('FILENAME', 'test.txt');
  5. while(true) {
  6. // проверяем наличие содержимого в файле, считывая содержимое файла в строку
  7.   if (file_get_contents(FILENAME) == "") {
  8.  
  9.   echo "Упсс пусто! )!!";
  10.   sleep(0.5);
  11.   }else
  12.   {
  13.   echo" wow записали чего то ";
  14.   break;
  15.   }
  16. }
  17. ?>

2) скрипт get.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // имя файла, в который производиться запись POST или GET запроса
  3. $filename = "test.txt";
  4. // имя поля в POST или GET запросе
  5. $name_var='request';
  6. // проверка существования файла
  7. if (file_exists($filename)) {
  8.   // если файл существует - открываем его
  9.   $file = fopen($filename, "w+");
  10. } else {
  11.   // если файл не существует - создадим его
  12.   $file = fopen($filename, "w+");
  13. }
  14. // данные из поля $name_var в POST или GET запросе
  15. //$text = $_POST[$name_var];
  16. $text = $_GET[$name_var];
  17. //(раскомментируйте нужную строку)
  18. // записываем строку в файл
  19. fwrite($file, $text);
  20. // закрываем файл
  21. fclose($file);
  22. // ответ скрипта на запрос
  23. echo "The request was accepted";
  24. ?>

(Отредактировано автором: 09 Сентября, 2016 - 12:45:08)

 
 Top
Мелкий Супермодератор
Отправлено: 09 Сентября, 2016 - 12:22:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Типичная синхронная схема взаимодействия:
отправляете второму серверу http-запрос. Тот что-то делает и что-то выводит в stdout. Первый получает ответ. Всё. Структуры удобно паковать в json.


-----
PostgreSQL DBA
 
 Top
dozer009
Отправлено: 09 Сентября, 2016 - 12:46:35
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Сент. 2016  


Помог: 0 раз(а)




Мелкий пишет:
Типичная синхронная схема взаимодействия:
отправляете второму серверу http-запрос. Тот что-то делает и что-то выводит в stdout. Первый получает ответ. Всё. Структуры удобно паковать в json.

четко кратко , лаконично! респект , с json к сожаления не имел котактов... ну что теперь будем грызтЬ гранит науки! хотелось что то у же говтовое, реализованное

(Отредактировано автором: 09 Сентября, 2016 - 12:53:46)

 
 Top
LIME
Отправлено: 09 Сентября, 2016 - 14:01:41
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




dozer009 пишет:
хотелось что то у же говтовое, реализованное
http://php.net/manual/ru/function.curl-init.php
 
 Top
dozer009
Отправлено: 09 Сентября, 2016 - 15:13:46
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Сент. 2016  


Помог: 0 раз(а)




LIME пишет:
dozer009 пишет:
хотелось что то у же говтовое, реализованное
http://php.net/manual/ru/function.curl-init.php


точно в цеЛЬ!!!!


PHP:
скопировать код в буфер обмена
  1. // дополняем массив с данными файлами
  2.         foreach($files as $k => $file) {
  3.                 $postData[$k] = '@' . $file;
  4.         }
  5.         // создаем подключение
  6.         $ch = curl_init('http://digitorum.ru/system/php/Scripts/Dev/fileReceiver-php.php');
  7.         // устанавлваем даные для отправки
  8.         curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
  9.         // флаг о том, что нужно получить результат
  10.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  11.         // отправляем запрос
  12.         $response = curl_exec($ch);
  13.         // закрываем соединение
  14.         curl_close($ch);
  15.        
  16.         var_export($response);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB