|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
||||||
Отправить бинарные данные на сервер29.05.2017, 17:19. Показов 3950. Ответов 29
Метки нет (Все метки)
Проблема вот в чем, у меня есть бинарная строка, которую надо отправить на сервер и там с ней работать.
Я попробовал через POST библиотеки curl (программа на С++) Но если в бинарной строке встречается & сервер воспринимает это как окончание строки и начало новой
0
|
||||||
| 29.05.2017, 17:19 | |
|
Ответы с готовыми решениями:
29
Сервер на сокетах: Нельзя повторно отправить данные на сервер Отправить данные на сервер Отправить данные на другой сервер |
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
||||||||||||||||
| 05.12.2017, 08:16 [ТС] | ||||||||||||||||
|
vxg, Я вчера проверил следеющее, отправил на сервер значения от 0 до 255
Единственно, код репласела пришлось поменять
Но не в этом дело, я ошибок не заметил, плюсы передаются таким образом корректно, амперсенды тоже. Иными словами, тест показал что в принципе, проблем быть не должно, но они почему-то происходят. vxg, попробую сделать как указали в примере. Не могут ли данные терятся при??? Это я уже их sqlite их читаю.
График строится только не так, либо попадаются большие либо маленькие значения, со степенью в тридцать и выше. Причем программа которая отправляет, выводит корректные значения. Да и не может некорректные, ибо сложив их она получает среднее которое также отправляется на сервер, и там оно верное. Если бы данные в программе были бы не верные, то и остальные значения были бы не верны, а они какраз верные.
0
|
||||||||||||||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 15.12.2017, 14:39 | ||
|
А данные из stdin читайте следующим образом: $data = file_get_contents('php://stdin'); echo $data; - тут будут сырые данные. Те самые байты, которые пришлете на сервер. Добавлено через 1 минуту Для $_POST фактически делается то же самое. Просто для удобства использования эта строка парсится и ее данными заполняется этот самый массив $_POST.
0
|
||
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
| 15.12.2017, 15:33 [ТС] | |
|
Undisputed, Так вот пост вроде должен передавать и получать, но гдето чтото не так...
Причем это "гдето" почемуто непонятно когда всплывает. То что данные в программе верные и в массивах тоже, факт, иначе бы ничего не вычислялось, это былобы сразу видно. Попробую переделать как сказали... убрав репласер. Добавлено через 8 минут Undisputed, Если бы я их терял постоянно я бы уже нашол ошибку. У меня примерно пол процента запросов с ошибками. Иными словами теряется не весь пакет, а только его часть (причем порой посередине, или в ином месте), и это происходит примерно один раз в 200 пакетов. Может реже... Но происходит же! Добавлено через 3 минуты Система отправляет раз в 5 минут 26 пакетов, не связанных между собой. Теряется куски пакета примерно в каждом 200-500 ошибки данных.
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 15.12.2017, 16:00 | |
|
sfinexer,
1. Попробуйте отправить без replace 2. Убедитесь, что значение заголовка Content-Length всегда передается корректно.
0
|
|
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
||||||||||||||||
| 15.12.2017, 16:14 [ТС] | ||||||||||||||||
|
Undisputed, попробую первое.
Второе
Тогда бы если например занные закончились бы на 2 блоке, то третий не отрисовался. А получается что гдето в середине данных ошибки... Тут конечно может гдето в записи в базу ошибка... Основная то проблема что ошибка редко появляется... и я не могу ее повторить(((( Может както она и повторяется, но мне из за ее редкости это не известно... Тоесть данные массива графика это строка, в нем блоки по 200 точек ($kol_element_mass) бывает так что часть блоков строится а часть нет((( это не может быть просто так не переданы данные... Вот наглядный пример http://forex.tiven.ru/?print_g... TI&id=1856 Второй график не полный, третий полный, далее построений нет А вот пример как должно быть. http://forex.tiven.ru/?print_g... SD&id=4352 Отправка идет темже самым кодом, но почемуто... в первом случае не корректно а во втором корректною Добавлено через 2 минуты И еще, если бы в программе данные бы были с ошибками, я бы на самом последнем графике получал бы ерунду полнейшую. У меня часть данных отправляется, часть нет... хотя пост запрос одного пакета един и не разбит на куски
0
|
||||||||||||||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|||||||
| 15.12.2017, 16:28 | |||||||
|
Если не сработает, вариант с file_get_contents попробуй прочитать стандартный поток ввода в бинарном режиме
0
|
|||||||
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
| 15.12.2017, 16:55 [ТС] | |
|
Undisputed, я уже ни в чем тут не уверен если честно..............
Undisputed, не подскажите как тогда поток записать в файл, может это чтото прояснит. Но тут тогда почему какие данные "режутся" а какието нет. У меня тут самая паршивая ошибка, я ее повторить толком не могу, и она еще проявляется не пойми когда((((( Добавлено через 4 минуты Было бы еще одно значение... а тут 14 килобайт бинарных данных, и ошибка проявляется раз в 200 отправлений, в случайном пакете. Но есть некоторые пакеты где ошибка чаще проявляется... раз в 10 пакетов... есть где редко... 200 это "среднее по больнице" Добавлено через 18 минут phpini http://forex.tiven.ru/php.php
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 15.12.2017, 17:36 | |
|
0
|
|
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
||||||||||||||||||||||||||
| 15.12.2017, 18:56 [ТС] | ||||||||||||||||||||||||||
|
Undisputed,
Формирование пакета:
Добавлено через 19 минут Заменив на curl_slist_append(headers, "content-type: multipart / form-data"); Также, у меня пустой файл на сервере. он обновляется (дата изменения) но он пустой. Добавлено через 9 минут Тоже самое и
0
|
||||||||||||||||||||||||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 16.12.2017, 11:22 | |
|
sfinexer,
Для начала попробуйте при записи так же использовать бинарный режим, wb. Если будут проблемы, смотрите документацию, случаи когда возвращаются ошибки при использовании функций для работы с файлами. А файл создается заново (поэтому и меняется дата) т.к у вас режим w.
0
|
|
| 16.12.2017, 11:22 | |
|
Отправить данные GPS на сервер
Как отправить данные на сервер? Отправить данные на сервер позже Клиент должен отправить файл на сервер. Сервер его обработать и отправить клиенту текст Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|