Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Сеть > Сокеты - загадка дня |
Автор: CyClon 11.9.2007, 16:04 | ||||
Простенький код:
НЕ РАБОТАЕТ: точнее работает, но в файл $file запись идет до тех пор пока я не удалю этот скрипт, то есть скрипт отработал вроде, но в фоне он как будто по бесконечному циклу пишет в файл одно и то же.
А вот так работает, что самое странное. Точнее в файл запись идет только один раз, как и должно быть. Что получается? В одном скрипте нельзя чтоли использовать более 1 ресурса? Баг PHP? Или есть что-то, что я упустил? |
Автор: teroni 11.9.2007, 17:06 | ||||
Честно говоря, не совсем понятно, что должен делать этот скрипт? Зачем вот этот цикл вообще нужен, если тут только одна итерация?
Вот это зачем?
|
Автор: sTa1kEr 11.9.2007, 17:19 |
CyClon, так что вы хотите? У вас бесконечная рекурсия запросов идет. Скрипт делает запрос к самому себе же. Вам повезло, что у вас $scriptCount = 1, а то бы количество запросов к серверу в геометрической прогрессии бы увеличивалось, пока весь сервер не лег бы. А если бы $scriptCount было хотя бы 10 было... ![]() |
Автор: CyClon 11.9.2007, 18:28 | ||
Извините, немного тупанул ![]() ![]()
Суть - в папке лежит скрипт lm.php и база данных base.txt. Нужно разделить базу на $scriptCount (должно быть как минимум больше 3, 1 - это для теста было) и запустить определенное кол-во скриптов. Данные скрипт создавал ооочень много файлов, хотя как видите рекурсией не пахнет... Пол дня провозился, как только не пробовал - не получилось. То просто уже от безысходности начал пробовать через сокеты на свой же сервер обращаться, но и они не катят ![]() |
Автор: dracs 11.9.2007, 21:38 | ||
Была похожая задача, решил так (у меня база лежала в табличке временной tmp_1)
Как поломать тебе твой base.txt тебе решать - лично мне чаще хранить в БД удобнее - чтото не проверилось - откатил, перепроверил и так далее. Т.е. от числа записей играю. Вместо сокетов бы использовал курл - удобнее при необходимости чекать или через прокси или через сокс5. Опять таки - по времени одно и тоже. |