аналог IO::Select на php есть?

Gashish

Новичок
аналог IO::Select на php есть?

Можно ссылочки на описание реализации алгоритма...
 

neko

tеam neko
нет нету
и не будет пока в php нет никакой возможности получить fd или передать его между экстеншинами
 

tony2001

TeaM PHPClub
что такое IO::Select?
(почему мне не приходит в голову спросить на перловом форуме "а аналог MCVE в Perl есть?" ?)
 

Gashish

Новичок
tony2001
Кто может ответить, те ответили, за что им и спасибо
 

fixxxer

К.О.
Партнер клуба
Автор оригинала: neko
нет нету
и не будет пока в php нет никакой возможности получить fd или передать его между экстеншинами
а [m]socket_create[/m] разве не fd возвращает?
 

fixxxer

К.О.
Партнер клуба
а что тогда?
я, конечно, понимаю, что снаружи это выглядит пхп-ресурс-идом. но внутрях-то это fd :)
 

neko

tеam neko
насколько я знаю, во всех модулях начиная от dio заканчивая filesystem functions
всегда когда возвращается ресурс (за которым ессно стоит fd), номера этих ресурсов ставятся в соответствие дескрипторам самим экстеншином.
т.е. их не передать туда-сюда ни получить реальный int оттуда возможности нет
я бы очень хотел узнать что я не прав, но помоему это так и есть

мы просто недавно обсуждали возможность делать select на backend сокетах к postgresql.
и пришли к выводу, что для этого нужно будет сделать pg_select()
т.к. экстеншены пхп между собой вообще не разговаривают...

-~{}~ 13.04.05 15:43:

хотя вот насчет dio я неуверен, я его не трогал
 

tony2001

TeaM PHPClub
>т.е. их не передать туда-сюда ни получить реальный int оттуда возможности нет
да?
и как же тогда изначальный экстеншен работает, если он не может получить int из ресурса?

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

fixxxer

К.О.
Партнер клуба
а, ну если задача стоит именно так...

да, кстати. IO::Select == man 2 select ? :)

-~{}~ 13.04.05 15:47:

вообще есть такая функция как stream_select.
по идее она должна работать с Resource ID возвращаемыми fopen/fsockopen/popen/etc.
 

neko

tеam neko
>>т.е. их не передать туда-сюда ни получить реальный int оттуда возможности нет
>да?
>и как же тогда изначальный экстеншен работает, если он не может получить int из ресурса?

так он сам со своими ресурсами и работает

объясняю на примере:
есть например socket_select
что он делает?
select() он делает
я могу ему подсунуть ресурсы от fopen()?
немогу.
от чего-нибудь еще могу?
немогу.
 

fixxxer

К.О.
Партнер клуба
вообще, stream_* выглядят явно предпочитительнее socket_*, ибо юзают стандартные php-шные streams, но многие необходимые функции (например stream_socket_client) в наличии только в 5-ке. :/
 

neko

tеam neko
что-то я с места в карьер не въезжаю
что такое stream?
я могу например вернуть fd из экстеншена и на них сделать stream_select?
или нужно делать какой-то специальный объект?
 

tony2001

TeaM PHPClub
[m]stream[/m]
всем функциям, которые принимают stream в кач-ве параметра, наплевать где он был создан, т.к. это универсальный ресурс.
 
Сверху