Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разбор "бесконечного" POST или PUT запроса 
:(
    Опции темы
bsa
Дата 1.10.2015, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Есть задача, в непрерывном режиме передавать данные от клиента серверу. При этом, соединение должно переустанавливаться как можно реже (по идее, будет идти непрерывный поток данных от клиента к серверу бесконечно долго). Решил, что удобней всего, это будет сделать через HTTP. Но тут же столкнулся с проблемой - не удается организовать прием на PHP.
Создал следующий примитивный код:
Код
<?php
    $file = fopen("file:///tmp/post.txt", "w");
    $post = fopen("php://input", "r");
    while (!feof($post)) {
        fputs($file, fgets($post));
    }
    echo "EOF detected\n";
?>
По идее, данный пример должен до закрытия соединения считывать данные из запроса и записывать их в файл.
Посылаю ему запрос вида:
Код
PUT http://myserver.net/callback.php HTTP/1.1
Host: myserver.net
Connection: Keep-Alive
Keep-Alive: 300
Content-Type: application/json

{json line 1}
{json line 2}
...
Пробовал посылать и POST запросы (в режиме multipart), но ничего не выходит.
PM   Вверх
ksnk
Дата 1.10.2015, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Web Soket не подойдет?
Обязательно ли использовать связку php+ броузер? 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
bsa
Дата 1.10.2015, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



браузера нет в связке. Данные отправляет мой сервер (т.е. это соединение сервер-сервер, где мой сервер выступает в качестве клиента). Могу использовать любой протокол, который удобно обрабатывать на php и других популярных серверных языках.

Это сообщение отредактировал(а) bsa - 1.10.2015, 19:08
PM   Вверх
ksnk
Дата 1.10.2015, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Вероятно, перл более подходит для несложного tcp-сервера. И для клиента тоже вполне подойдет.
nodeJs тоже вполне себе удобная серверная платформа с подходящими возможностями. 
php, imho, не самый подходящий инструмент для создания долгоживущих соединений. 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
bsa
Дата 1.10.2015, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Я делаю клиента и определяю протокол. Мне нужно использовать максимально удобный протокол, чтобы на стороне сервера могли реализовать на чем угодно: php, asp, java... Просто серверами заведую уже не я, а судя по моему опыту, там могут быть люди, которые знают только JS и PHP.
PM   Вверх
Angel666
Дата 1.10.2015, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 8.9.2011

Репутация: нет
Всего: 1



WSDL побывал?

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
bsa
Дата 2.10.2015, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



А причем тут WSDL? Он лишь позволяет описать протокол, а не является им.
Пока что изучаю WebSockets...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.