Как я могу диагностировать проблемы с Perl getc? - PullRequest
3 голосов
/ 24 февраля 2010

У меня странные проблемы с функцией getc. Я использую getc, чтобы получить символ из обработчика файла сокета. Мне нужно смоделировать обмен сообщениями между ПК и мобильным устройством. Для первых нескольких сообщений getc работает нормально. Но для этого getc не мог получить ничего из сокета. Вся программа на Perl заблокирована, пока я не сбросил это мобильное устройство. Но wireshark показывает, что сообщение было отправлено на правильный номер порта.

Есть ли инструмент, который я могу использовать для того, что происходит?

Спасибо

1 Ответ

2 голосов
/ 24 февраля 2010

Распространенным источником проблем с дескрипторами файлов и сокетов является то, что может быть достигнут конец ввода и может быть установлен флаг ошибки или eof. Попробуйте вызвать seek HANDLE,0,1 для сброса дескриптора после того, как вызов getc ничего не возвращает (или это должно быть sysseek? Является ли getc буферизованной операцией ввода-вывода?

...