За последние 24 часа нас посетили 65626 программистов и 5389 роботов. Сейчас ищут 1632 программиста ...

Обмен меж серверов.....

Тема в разделе "PHP для новичков", создана пользователем Dozer009, 9 сен 2016.

  1. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    Доброе время суток Уважаемые форумчане!

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

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.225
    Адрес:
    там-сям
    Расскажи изначальную задачу, а не то как ты хочешь её решить — толку будет больше.
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    обмен данными между спутниками.
     
    mahmuzar нравится это.
  4. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    сарказму то...

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

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    PHP - создан чтобы умереть, но не уснуть, проснуться и проверить как кто - то записал на туалетной бумаге свой ник.
     
  6. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    ну вот к чему ты Это?? если шибкО умен предложи решение....
    к чему твой ник на срА..ельной бумаге ?? понимаю есть решение и лучше, возможно
    и возможно php не лучшее решение для этого... мне нужно как можно проще... php поддерживают много free хостов
     
  7. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    че за заумные слова, в одну сессию, какую еще сессию?
    просто берешь через PHP отправляешь POST запрос и отдаешь ответ, например в виде XML или JSON.
     
  8. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    • Не груби. Тебе дали дельный совет.
    еще один! слышь умники , топик создан в разделе для новичков ( возможно не так выразился)
    моментально обработать данные в одном запросе , пользователЮ
     
    #8 Dozer009, 9 сен 2016
    Последнее редактирование: 9 сен 2016
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    Твой ум лишь
    PHP:
    1. while  ( дерзить )
    2. {
    3. echo конечно!;
    4. sleep ( 0.5 );
    5. }
    Это тебе не с++ и не игра DOOM где так же бесконечный цикл.
    https://habrahabr.ru/post/179399/
    Новичек ты или профи не важно.
    Но если ты опять "слышь, не слышь". В чем прикол тебе помогать ?
    P.s: замечания нужно учитывать как опыт, а не как оскорбление.
     
  10. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    я писал уже что понимаю php не лучшее решение...в теории знаю проблемы..мог и сразу дать линк и сказать твое решение мертвое ! ааа не цитировать что то там с туалетной бумагой.... тебе сложно было сразу все предьявить ??? чтобы не получить что то в ответ

    так и теперь Мега мозги!))( не примите за оскорбление)))! на чем это реализовать можНо?!
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    помоему читать даже не умеешь "говоря что прочел".
    --- Добавлено ---
    Туалетная бумага тоже закончится, кстати:D
     
  12. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    ясно .. вот ты какой цвЯточек АленьКай!
    так лан
    чтобы не зациклить! через cron может?
     
  13. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.178
    Симпатии:
    161
    Адрес:
    GABRIEL
    @Dozer009 я так понимаю ты хочешь чтобы сервер у тебя проверял каждые n (часов, минут, секунд), какой то файл на наличие новых записей?
     
  14. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    хммм
    чтобы при обращении пользователя к серверу в одном запросе ( ну или как то разбить) получил уже какое то решение, и что ему будет предложенно сделать ,что то типа решения ( ну выявить языковую пренадлежность и редиректить уже на тот сайт)
     
  15. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.178
    Симпатии:
    161
    Адрес:
    GABRIEL
    Базы Данных для этого именно и создавались.
    У всех подходит у тебя не подходит... Ну ну.

    Ты какой - то дерзкий, даже помогать не хочется... Но всё же.

    Помимо баз данных.
    Ты можешь воспользоваться web socket, что обычно используют когда надо что-то сделать в режиме реального времени.

    Также используют post, get запросы. Но гет запросы ограничены по передачи. Можешь передавать post.

    А ты вообще понимаешь что такое сессия или так сп.з.ул. ?)
    Загугли session php. Но сначала лучше куки погугли что это такое, а потом потихоньку посмотри что такое сессии. Иначе одно без другово не поймёшь.
    --- Добавлено ---
    у меня такое чувство что ты очень сильно плаваешь в вебе и вообще одно с другим связать не можешь, даже объяснить что ты хочешь...
    Вангую ты хочешь, транслировать через свой сервер поступающую информацию с другово сайта либо же какого то сервера 1с или ещё чего?
    И чтобы всё это дело происходило у пользователя без обновления страницы?
    --- Добавлено ---
    (Я пытаюсь помочь тебе исходя из того что ты говоришь, но ты говоришь отрывисто, ты выбрасываешь отрывки мыслей и я не понимаю, что ты хочешь сделать. Исходя из того что ты написал я тебе в лоб говорю базы данных решают все проблемы твои, то что ты не знаешь как это не значит что не решают. )
    поддерживаю первый пост! Ты дал не ту информацию, чтобы тебе помочь!
    --- Добавлено ---
    Вот Вот!!! ВОТ ОНО! Вот тут ты понял что тебе не помогают! А знаешь почему, а потому что ты не правильно изложил свой вопрос. Не корректно выразился. Так что давай быстренько, реабилитируйся и напиши что ты хочешь сделать и только уже потом как ты это видишь. Только не бросайся из стороны в сторону сессии не сессии. Забудь сейчас про синтаксис и возможности php напиши задачу. Словами!
    А тут тебе уже подскажут в какую сторону рыть.
     
  16. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    вот напали)) ну что ж ты такая ДерзкаЯЯЯ!!

    askanim тебе именно никто не дерзИл!

    посчет сессии исправился! ( вот не дает исправить начальный топик уже бы подправил)

    в одном запросе без обновления ( можно через обновление , понимаю тут надо уже через JS ??)
     
  17. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.225
    Адрес:
    там-сям
    ну так передай то да сё и прочее и потом выполни что-то там. что мешает?

    похоже ты изобретаешь Single Sign-On. только затрудняешся нормально сформулировать изначальную задачу.
     
  18. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    чтобы при обращении пользователя к серверу в одном запросе ( ну или как то разбить) получил уже какое то решение, и что ему будет предложенно сделать ,что то типа , выявить языковую пренадлежность и редиректить уже на тот сайт)

    сорри Single Sign-On чуть не то!
     
  19. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    чувак я тебе уже написал, вбей в поисковик "php отправить post между серверами", что-то типа этого и найдешь решение.
     
  20. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.225
    Адрес:
    там-сям
    Dozer009 нравится это.
  21. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    думаешь не смотрел , ну post отпрваил и запрос закончился , а что дальше? ( JS?)
     
  22. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.225
    Адрес:
    там-сям
    @VLK, это как бы девочка, не надо кричать!
    --- Добавлено ---
    а может и нет…
     
  23. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    он закончился ответом с сервера на который ты шлешь post запрос .
     
    Dozer009 нравится это.
  24. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.225
    Адрес:
    там-сям
    вообще это плохая практика при запросе на сайт А читать что-то с сайта Б на серверной стороне. без асинхронности это приводит к офигенным задержкам и скорому затыку в производительности.

    доп. запросы должен выполнять клиент, а не сервер. сервер же может выдать редирект куда надо, чтобы спровоцировать клиента на нужный запрос.
     
  25. Dozer009

    Dozer009 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    24
    Симпатии:
    1
    всем респекТ ! я не кричал что я мега кул гуру программер PHP-ист, почему и выбрал еще раз повторяюсь раздел новичков, или у вас все новички сразу тут кул прогеры!!??
    модер можешь удалить регу за дерЗОсть ...

    всем благодарность за дискуссию...звеняЙте коЛь что не так!! все когда то что то начинали иль начинают
    --- Добавлено ---
    дак понятно вот и спросил куда рыть, что изучить! а не сарказмы