Metal Messiah

Metal Messiah
Рейтинг
163
Регистрация
01.08.2010
Программистъ
всегда искал хостинг с Cpanel

отвыкайте. я тоже в детсте искал фрихосты только с CPanel. Ставьте себе VestaCP на серер с заданными параметрами за USD 5.00 - EUR 5.00 и будет счастье

Спасибо. Относительно исходного кода надо было добавить html_entity_decode и убрать /u.

Да, мой код с циклом работает, но это криво.

Топик можно выносить, проблему решил.

Наложение обстоятельств - баг с одним из send() из библиотеки winsock из-за размера буфера, send ИНОГДА не отправлял блок данных из середины, но при этом JSON писался валидным, и в добавок при повторных попытках отправки данных отправлялась уже пустая строка, результат обработки этого запроса я и видел последней строкой в консоли. Перешел на winsock2 и дал статический размер буфера отправки... Веб сервер оказался не причем, проблему понял только после того как я строку данных завернул в base64. Хотя вообще при такой ерунде в логах должен был бы быть Bad Request...

Всем спасибо за моральную поддержку.

JSON валидный, при чтении из файла разбирается нормально.

var_dump($_POST) ок, делаю

curl_multi_init не в этой жизни, UDP во первых, во вторых свои особенности.

Сорц в студию.

Delphi + JSON by IVO GELOV

Быдлокод

Я в курсе. К теме не относится. Задача была понять что параметр передается пустым, а все последующие, которые в HTTP POST запросе идут за ним обрабатываются правильно.

имеется в виду, что допустим если данные 1 2 3 - то это всегда приводит к потере массива, а если 4 5 6, то массив проходит?

Все намного сложнее. Это многопоточный опрос, PHP скрипт отдает список серверов, данные которых надо обновить (N штук), программа его забирает, опрашивает в M потоков, формирует 1 JSON массив со структурами и постит обратно, в результате достигается офигенная скорость по сравнению с тем как обычно то же самое реализуют на PHP.

M,N прописаны в конфиге. Сервера для проверки выдаются в случайном порядке, потому "данные 1 2 3" повторить невозможно.

Как и в любом json, где-нить в середине может встретиться "param":[] но это обычно не шатает веб сервер. После [] идти & не может в принципе, там либо , либо }. Да, и после Urlencode() там ни одного из этих символов нет

По стате:

За 10 часов работы при N=70 было 26 сбоев в час, размер данных от 7 до 116 кб.

За час работы N=30 было 60 сбоев, размеры от 38 до 100 кб.

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

На одном наборе данных либо всегда работает либо всегда нет (у меня на случай ЧП если нет ответа идет повторный запрос).

В файл пишется (программой) json текст в случае если ответ от веб сервера не содержит флага успешной обработки. Таких файлов сотня. В них полностью валидный json который нормально парсится последним кодом из 1го поста.

Проблема в веб сервере...

Та у меня там всего 2 инклюда :)

Движок сам писал в 2010 с доработками в последующие годы. Видимо, туплю. Так и буду делать на локальной копии, чтобы не пугать людей

Я начинаю верить в шаманский бубен.

test.php выдает правильный заголовок, index.php тоже если после header() выдать die(), но если скрипт будет обработан до конца - хедер no-store, no-cache

И это при том что функция header() из файла и инклюдов вызывается только 4 раза, а именнно код ответа 404, 503 и Location для избавления от дублей. Буду искать кто шлет левый заголовок...

...

Не вижу причины, ни в одном файле в header ничего что касается кеша не задается...

ТС иногда клепает автонаполняемые СДЛ :) и домены 3 уровня тоже бывают. Поддомены, увы, нет, но могу над этим подумать.

Такие сайты надо загнать в индекс и сколько-то месяцев наполнять контентом, особо не закупая ссылки на них. Когда они проходят песочницы и прочие стадии - ними можно начинать работать. Работаю так не первый год. Сильно тратиться на хостинг в мои планы не входит.

В переносе сайта я видел проблему только 1 раз - когда из-за ошибок хостера я не мог нормально сделать экспорт большой БД из панели управления (либо нехватка ОЗУ либо таймаут операции). Остальное делается на раз два и ни о каких $10-15 там речи нет. Это не слетевшую репликацию 3-гиговой базы восстанавливать

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

Предотвращая holy war, обосную свою точку зрения. Когда запускается несколько сайтов и постепенно наполняются контентом на начальных этапах продвижения посещаемость сайтов составляет чуть более чем ноль уникальных посетителей в сутки, и суммарный объем данных ничтожный (конечно, если это не фотохостинг /фотоблог в high-res). На первый период нет никакого смысла брать крутой хостинг (минимум 2 бакса в месяц лимит 1 домен за 1 ГБ диска) а то и мега хостинг ценой сравнимой с VPS (видал таких много).

Этот самый "первый период" может занимать до года (были случаи) а то и больше. Экономия в 2 раза минимум. Если сайтов несколько - то и в 4 и в 10 раз. Когда сайт начнет создавать нагрузку или разрастется в объеме - его можно спокойно перенести на другой хостинг или VPS. Перенос у меня занимает пол часа, и если заранее на домене поставить TTL - то и на новом адресе начинает работать сразу. Проблемы могли быть только с бесплатным хостингом, а так никаких.

dmitrii_trof, я пример привел - у хостеров из 1 поста у меня было по 1 посещаемому сайту + несколько мелких, сейчас осталась мелочь, в большей части новая. Просто сейчас опять надо запустить с нуля несколько сайтов, но чтобы IP отличался от существующих, потому на имеющийся хостинг "не влазит".

Всего: 570