Многопоточные соединения

deyn1

Guest
Многопоточные соединения

Привет всем!

Знаю что многопоточность и расширенная работа с сокетами на PHP не каждому доступна, т.к. не всегда PHP скомпилирован, используя опции конфигурации:
--enable-pcntl (для поддержки управления процессами)
--enable-sockets (для функций сокетов)

но все-таки, есть кто-нибудь кто практически создавал многопоточные скрипты, а именно многопоточные соединения с разными серверами, чтобы не дожидаясь ответа от одного, и переходить сразу ко второму и т.д. для сокращения общего времени ожидания в цикле ?

Буду очень признателен, если кто-нибудь приведет пример с пояснением, а не ссылку на документацию. Насколько я знаю эта тема интересует многих, даже есть мнение что на PHP многопотосность не сделать и нужен Перл, такие это вызывает разногласия...

дока - http://docs.luksian.com/internet/php/php42/?f=./f/ref.pcntl.html
 

valyala

Новичок
Почитай про [m]socket-set-nonblock[/m] и [m]socket_select[/m].

-~{}~ 20.01.06 02:39:

ПХП вообще хреново работает с потоками. Вот что пишут разработчики ПХП про опцию, включающую многопоточную поддержку в ПХП:
--enable-maintainer-zts Enable thread safety - for code maintainers only!!
Поэтому, если уж задумал писать многопоточное приложение на ПХП для работы с сокетами, то лучше эмулировать его в одном потоке с помощью socket_set_nonblock() и socket_select().
 
Сверху