Я делаю sysread в Perl 5.8.2 на AIX 5.3. Согласно документации, sysread
должен дать 0, когда он прочитал все прочитанные из дескриптора файла.Почему мой блок sysread Perl при чтении из сокета?
В моем сценарии дескриптор файла STDIN и указывает на сокет. Поэтому я в основном делаю sysread
из сокета. Но я никогда не получаю 0 от sysread
, и он просто блокирует, даже после того, как клиент отправил все данные.
Любая идея, что может быть неправильным?
Спасибо.
я sysread в цикле в то время как для чтения данных из сокета .. но он продолжает блокировки, даже после того, как мой клиент отправил все данные .. sysread только блоки .. – someguy
Да, вы уже сказали, что. – hobbs
Ваш клиент явно не закрывает дескриптор выходного файла, 'sysread()' не является экстрасенсом. – Hasturkun