Проблема решается на хостинге, ограничением доступа к FTP только с определенных IP адресов, а владелец сайта из панели управления задает с каких IP или подсетей он хочет заходить по FTP, ну а для тех кому это не удобно есть отдельная галочка «открыть доступ со всех IP».
Цикл не бесконечный, $request->Accept() может вернуть значение меньше 0 в случае ошибки.
Конечно это не особо принципиальный вопрос, все и так будет прекрасно работать, но если вы приводите этот код как пример для использования другими людьми, то мне кажется все таки логичнее поставить CloseSocket.
После цикла еще хорошо бы вызвать
FCGI::CloseSocket($socket);
И нужно сделать обработку более одного запроса одновременно с помощью того же FCGI::ProcManager, или это и будет в следующей части…
так и есть, при ненайденой странице делается редирект на страницу 404 sbrf.ru/ru/errors/404/?404;http://sbrf.ru:80/<url ненайденой страницы>, а она выдается с нормальными хедерами 200 OK
И еще можно упомянуть о эндшпильных таблицах (таблицы Налимова), они представляют собой базу данных из предварительно просчитанных всех возможных вариантов ходов для позиций в которых на доске остается небольшой количество фигур (конечно размер этих таблиц впечатляющий), уже сейчас полностью просчитаны таблицы для 6-ти фигурных и меньше окончаний (оба короля тоже считаются).
Имея такую таблицу в подобном эншпиле шахматному движку не нужно вообще ничего рассчитывать, он всегда абсолютно точно знает оценку позиции, или ничья или какой стороне в какое количество ходов и каким образом ставится мат.
Благодаря этим таблицам компьютер в эншпиле имеет абсолютное превосходство даже над сильнейшими гроссмейстерами мира.
Камнем преткновения в написании шахматных движков является реализация функции оценки позиции, она и определяет характер игры движка в сложных несбалансированных позициях, можно даже УСЛОВНО разделить шахматные движки на позиционные (приоритетом является оценка позиции) и тактические (приоритетом является перебор большего числа ходов для получения позиций более простых для оценивания), например движок Rybka скорее позиционный, а Fritz — тактический.
Из сервисов такого рода можно упомянуть MaxMind
он не бесплатный, но имеет демо-входы, показывает инфу также по городу.
Позволяет скачивать базу с IP, есть API для разных языков программирования и утилиты для работы с этой базой.
База по странам — бесплатно.
Уже несколько лет использую на своем сервере, для всяких статистик и тому подобного, очень доволен.
Конечно это не особо принципиальный вопрос, все и так будет прекрасно работать, но если вы приводите этот код как пример для использования другими людьми, то мне кажется все таки логичнее поставить CloseSocket.
FCGI::CloseSocket($socket);
И нужно сделать обработку более одного запроса одновременно с помощью того же FCGI::ProcManager, или это и будет в следующей части…
sbrf.ru/ru/errors/404/?404;http://sbrf.ru:80/<url ненайденой страницы>, а она выдается с нормальными хедерами 200 OK
Имея такую таблицу в подобном эншпиле шахматному движку не нужно вообще ничего рассчитывать, он всегда абсолютно точно знает оценку позиции, или ничья или какой стороне в какое количество ходов и каким образом ставится мат.
Благодаря этим таблицам компьютер в эншпиле имеет абсолютное превосходство даже над сильнейшими гроссмейстерами мира.
Fritz — тактический.
по ссылке смотреть исходный код страницы
в статье не приводил, дабы не выглядело как пиар сайта, тем более что его название видно на скриншоте.
И тем более странно что это на сейте такого раскрученного проекта.
Есть под Symbian и поддерживают GPS
MaxMind
он не бесплатный, но имеет демо-входы, показывает инфу также по городу.
Позволяет скачивать базу с IP, есть API для разных языков программирования и утилиты для работы с этой базой.
База по странам — бесплатно.
Уже несколько лет использую на своем сервере, для всяких статистик и тому подобного, очень доволен.