savage: Вы же ведь тоже траст как-то оценивате? Но почему-то не говорите как
Но, в отличие от остальных как бы умеющих, у Вольфа медалька от Яндекса имеется ;) Да и в декларировании откровенной ереси, в отличие от некоторых других замечен не был. Так что, даже в отсутствие демонстрации метода, можно предположить его адекватность. А вот, на открытые работы и прочие достижения новоиспеченных носителей модных теорий хотелось бы посмотреть ;)
wolf: Типа того. Скажем так, "ты последний" - это собирательный образ для визуально непропорционально низкого ранжирования согласно имеющимся внутренним и внешним факторам.
wolf, возможно некорректный вопрос, но раз уж речь зашла. Не мог бы ты пояснить, что в настоящее время принято называть фильтром "ты последний"? Помню, Садовский говорил, мол, масса причин может быть у автоматического занижения релевантности одного или нескольких документов.
Что, SEO-сообщество как-то очертило какой-то круг этих причин и дало название "ты последний"? Или в основе термина лежит анализ симптомов - типа, вне зависимости от причин, если внезапно "улетел" в конец выдачи, значит "ты последний"?
neolord: ОМГ, ТС, просто ОМГ. socket_set_blocking это псевдоним функции socket_set_block! И она *устанавливает* блокировку сокетов вам же требуется socket_set_nonblock, которая *запрещает* блокировку сокетов.
В омг уверены? На досуге посмотрите справку по socket_set_blocking. И обратите внимание на второй параметр. Буду рад, если дело дойдет до извинений с Вашей стороны.
Добавил позже: я смотрю, пост дополнили, пока я писал ответ :)
Не больше Вашего :) Если посмотреть внимательно, то все мои разглагольствования состоят из повторения моего вопроса.
neolord: вы эту функцию пробовали?
Пробовал socket_set_blocking, которая "Ровно одно и то же". Не факт, что пробовал применительно ко всему арсеналу средств работы с сокетами. Не факт, что то, что пробовал было попробовано корректно. От того и создал тему в этом разделе, чтобы сократить временные издержки на эксперименты, если кто-то успешно решивший проблему сочтет возможным поделиться своим опытом.
neolord, Вы же, вроде, для себя мой вопрос закрыли. Или не до конца еще? :)
P.S. Вам самому не приходилось на практике решать сходные задачи? Про флаг я в курсе.
neolord: Механизм тот же что и в ОС под которой запущен пхп. Раз есть способы, в чем ваш вопрос?
Вопрос родился из Вашего утверждения о неразрешимости задачи "сделать неблокирующиеся сокеты" на основе функций пхп. Мне было интересно, что Вы имели в виду.
neolord: Ровно одно и то же.
Ок, спасибо.
neolord: Но ТС упорно продолжает философствовать.
Я ответил на Ваш конкретный вопрос в контексте моих проблем с fsockopen
neolord: Т.е. вы хотите добиться возможности поддерживать сокет вне потока выполнения скрипта? Продолжать выполнять далее написанные команды? Т.е. вы хотите синхронизацию сокетов отключить? Или распаралеллить процесс? Или создать перманентный сокет?
Я хочу сделать ровно то же самое, что описано в документе, ссылку на который я приводил в первом посте. У меня ровно такая же проблема - медленное установление первоначального соединения вплоть до истечения тайм-аута в fsockopen. Проблема решится, если перед вызовом функции fsockopen (или аналогичной) эту функцию получится перевести в неблокирующий режим.
neolord: В документации на пхп утверждается для этого есть единственная команда - socket_set_nonblock.
Я в курсе того, что утверждается в документации.
neolord: И очень сомнительно что вы получите имено то что ожидаете (продолжение работы скрипта при получении данных из сокета).Вопрос закрыт. Поставьте другой вопрос если хотите услышать что-то конструктивное.
Пока Вам сомнительно, я успешно получаю то, что ожидаю (продолжение работы скрипта при получении данных из сокета). Уже открытый и переведенный в неблокирующий режим сокет отлично обрабатывается скриптом. Как раз в этом я проблемы не вижу (и неоднократно выше об этом писал) т.к. все давно реализовано и замечательно работает. И вопрос еще не закрыт - отсутствие у Вас опыта решения моей проблемы не значит, что такого опыта нет в природе, согласитесь.
Вы считаете, это корректный ответ на вопрос уважаемого neolord-а? Я так не считаю, поэтому ответил максимально конкретно.
netwind: если так дальше пойдет, вас начнут подозревать в сканировании портов, например.
Хорошо еще, что не в совращении малолетних или попытке завладения табельным оружием :)
А почему уклон подозрений в "криминал"? Неблокирующие сокеты только в неблаговидных целях используют? Или это "презумпция виновности" в действии? :)
netwind: так какой результат работы скрипта? вы могли просмотреть ряд очевидных технических схем.
А как это может помочь в решении моей конкретной проблемы с fsockopen? Альтернативные технические схемы мне известны (часть из них даже реализована). Я прекрасно понимаю, что мне с радостью укажут на эти альтернативные схемы и решения, заполнив тему оффтопом. Но это не решит мою проблему - перевод fsockopen (или аналога) в неблокирующий режим.
А Вы не внимательны
А в чем моя невнимательность? Ну да, работавшей в тот момент. И что?
Мне кажется, это Вы невнимательно прочли по ссылке. Или у меня что-то несуществующее между строк увидели ;)
Добавил позже: или Вы к тому, что медаль "устаревшая"? Так медалей "устаревших" не бывает, на то они и медали ;)
Вы же ведь тоже траст как-то оценивате? Но почему-то не говорите как
Но, в отличие от остальных как бы умеющих, у Вольфа медалька от Яндекса имеется ;) Да и в декларировании откровенной ереси, в отличие от некоторых других замечен не был. Так что, даже в отсутствие демонстрации метода, можно предположить его адекватность. А вот, на открытые работы и прочие достижения новоиспеченных носителей модных теорий хотелось бы посмотреть ;)
Типа того. Скажем так, "ты последний" - это собирательный образ для визуально непропорционально низкого ранжирования согласно имеющимся внутренним и внешним факторам.
Понятно, спасибо.
wolf, возможно некорректный вопрос, но раз уж речь зашла. Не мог бы ты пояснить, что в настоящее время принято называть фильтром "ты последний"? Помню, Садовский говорил, мол, масса причин может быть у автоматического занижения релевантности одного или нескольких документов.
Что, SEO-сообщество как-то очертило какой-то круг этих причин и дало название "ты последний"? Или в основе термина лежит анализ симптомов - типа, вне зависимости от причин, если внезапно "улетел" в конец выдачи, значит "ты последний"?
ОМГ, ТС, просто ОМГ.
socket_set_blocking это псевдоним функции socket_set_block! И она *устанавливает* блокировку сокетов
вам же требуется socket_set_nonblock, которая *запрещает* блокировку сокетов.
В омг уверены? На досуге посмотрите справку по socket_set_blocking. И обратите внимание на второй параметр. Буду рад, если дело дойдет до извинений с Вашей стороны.
Добавил позже: я смотрю, пост дополнили, пока я писал ответ :)
Вы столько тут разглагольствуете
Не больше Вашего :) Если посмотреть внимательно, то все мои разглагольствования состоят из повторения моего вопроса.
вы эту функцию пробовали?
Пробовал socket_set_blocking, которая "Ровно одно и то же". Не факт, что пробовал применительно ко всему арсеналу средств работы с сокетами. Не факт, что то, что пробовал было попробовано корректно. От того и создал тему в этом разделе, чтобы сократить временные издержки на эксперименты, если кто-то успешно решивший проблему сочтет возможным поделиться своим опытом.
neolord, Вы же, вроде, для себя мой вопрос закрыли. Или не до конца еще? :)
P.S. Вам самому не приходилось на практике решать сходные задачи? Про флаг я в курсе.
Механизм тот же что и в ОС под которой запущен пхп. Раз есть способы, в чем ваш вопрос?
Вопрос родился из Вашего утверждения о неразрешимости задачи "сделать неблокирующиеся сокеты" на основе функций пхп. Мне было интересно, что Вы имели в виду.
Ровно одно и то же.
Ок, спасибо.
Но ТС упорно продолжает философствовать.
Я ответил на Ваш конкретный вопрос в контексте моих проблем с fsockopen
Т.е. вы хотите добиться возможности поддерживать сокет вне потока выполнения скрипта? Продолжать выполнять далее написанные команды? Т.е. вы хотите синхронизацию сокетов отключить? Или распаралеллить процесс? Или создать перманентный сокет?
Я хочу сделать ровно то же самое, что описано в документе, ссылку на который я приводил в первом посте. У меня ровно такая же проблема - медленное установление первоначального соединения вплоть до истечения тайм-аута в fsockopen. Проблема решится, если перед вызовом функции fsockopen (или аналогичной) эту функцию получится перевести в неблокирующий режим.
В документации на пхп утверждается для этого есть единственная команда - socket_set_nonblock.
Я в курсе того, что утверждается в документации.
И очень сомнительно что вы получите имено то что ожидаете (продолжение работы скрипта при получении данных из сокета).Вопрос закрыт. Поставьте другой вопрос если хотите услышать что-то конструктивное.
Пока Вам сомнительно, я успешно получаю то, что ожидаю (продолжение работы скрипта при получении данных из сокета). Уже открытый и переведенный в неблокирующий режим сокет отлично обрабатывается скриптом. Как раз в этом я проблемы не вижу (и неоднократно выше об этом писал) т.к. все давно реализовано и замечательно работает. И вопрос еще не закрыт - отсутствие у Вас опыта решения моей проблемы не значит, что такого опыта нет в природе, согласитесь.
цель - получение результата.
Вы считаете, это корректный ответ на вопрос уважаемого neolord-а? Я так не считаю, поэтому ответил максимально конкретно.
если так дальше пойдет, вас начнут подозревать в сканировании портов, например.
Хорошо еще, что не в совращении малолетних или попытке завладения табельным оружием :)
А почему уклон подозрений в "криминал"? Неблокирующие сокеты только в неблаговидных целях используют? Или это "презумпция виновности" в действии? :)
так какой результат работы скрипта? вы могли просмотреть ряд очевидных технических схем.
А как это может помочь в решении моей конкретной проблемы с fsockopen? Альтернативные технические схемы мне известны (часть из них даже реализована). Я прекрасно понимаю, что мне с радостью укажут на эти альтернативные схемы и решения, заполнив тему оффтопом. Но это не решит мою проблему - перевод fsockopen (или аналога) в неблокирующий режим.
Потому что пхп использует системные вызовы для установки сокетов. И там ровно такой же механизм.
Разверните, плз, если не сложно. Такой же механизм, как и где?
Я про термины РНР говорил - есть способы установить сокет в неблокирующее состояние. Способы работают. Так почему не решается-то (в терминах РНР)?
Да, есть - это её полная противоположность
Давайте без издевательств (понятно же, что в виду имелось) :)
Это полнофункциональные псевдонимы? Или есть недокументированные особенности?
уточняющий вопрос - что вы хотите получить? Какая цель запрета блокировки сокетов?
Цель - не ждать, а продолжать выполнение скрипта. Это более-менее стандартная цель использования неблокирующих сокетов, не находите? :)
есть специальная опция
curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, '5' );
неужели не работает?
Насколько я в курсе, это мы так просто тайм-аут выставляем. Без перехода в неблокирующий режим.