Баг PHP 5.1.1?

white phoenix

Новичок
Баг PHP 5.1.1?

Есть скрипт который создает сокет, коннектит его к удаленному хосту, и принимает/отдает данные... Используется расширение sockets, а также функция socket_select (на 1 сокет только). Запускаю под win32, на PHP 5.0.4 всё работает изумительно, а вот в PHP 5.1.1 socket_select возвращает 1 (тобишь говорит что данные пришли) даже если они не пришли. Со всеми, мать их за ногу, вытекающими последствиями. В changelog'е ничего путного не нашел. Кто сталкивался с такой проблемой?

-~{}~ 20.12.05 23:02:

Вот по такой схеме считываются данные:
wait: int(1)
recv: int(6)
-----
wait: int(1)
recv: int(4)
-----
wait: int(1)
recv: bool(false)
recv: bool(false)
recv: bool(false)
recv: bool(false)
recv: bool(false)
recv: bool(false)
recv: bool(false)
wait - значение socket_select
recv - значение socket_recv
"-----" - конец выполнения функции read

-~{}~ 20.12.05 23:41:

Вообще очень странное поведение сокетов, выключил non-blocking, запускаю под PHP 5.1.1, socket_recv ведет себя будто non-blocking включен. Где можно почитать про конкретные различия расширения sockets между 5.0.4 и 5.1.1?
 

tony2001

TeaM PHPClub
еще раз и по-русски.
1) что делаешь.
2) что получаешь.
3) что ожидаешь получить.
 

white phoenix

Новичок
tony2001
Сложный объект у меня, сейчас попытаюсь его перевести к более простому виду.

-~{}~ 24.12.05 23:45:

Очень странно, сделал отдельный класс Socket и глюк пропал. Проблема совместимости конечно же решилась, но всё-таки интересно почему тот скрипт не работал...
 
Сверху