C>Но как только пытаюсь отдебажить этот кусок цикл while уходит в бесконечность. Как такое взмжно?
А ты уверен, что из порта не идут бесконечные данные? Без отладчика может между данными есть интервалы, когда available()==0, поэтому цикл заканчивается, а под отладчиком пока Эклипс загрузить окружение, пока все доступные переменные загрузить — в очередь пришло много данных, и при этом пока ты по шагам ходишь они продолжают поступать.
C> while(this.inputStream.available() > 0) { C> count++; C> int numBytes = inputStream.read(readBuffer);
Вот это вообще бред, ты в цикле каждый раз в буфер записываешь с самого начала.
C> } catch (IOException e) {}
Happy debuging!
Re[2]: Debug -> infinity
От:
Аноним
Дата:
11.09.10 10:31
Оценка:
Здравствуйте, avpavlov, Вы писали:
A>Вот это вообще бред, ты в цикле каждый раз в буфер записываешь с самого начала.
Почему бред? Размер буфера у меня зависит от размера поступившего соообщения readBuffer = new byte[inputStream.available()] и за один цикл я считываю его полностью. Тем более я знаю точно, что мне должно поступить на вход, в зависимости от того какой запрос я отправил.
А> } catch (IOException e) {}
А>Почему бред? Размер буфера у меня зависит от размера поступившего соообщения readBuffer = new byte[inputStream.available()] и за один цикл я считываю его полностью.
А зачем тогда while?
А>Тем более я знаю точно, что мне должно поступить на вход, в зависимости от того какой запрос я отправил.
Не забудь убедиться, что драйвер тоже точно знает, что ты ждёшь на входе, и не пришлёт данные в два приёма.
C>Пишу приложение для работы с RS232, используя javax.comm, и одна ситуация поставила в тупик.
Честно говоря, несколько лет назад я пробовал использовать этот пакет, но глючность зашкаливала. С тех пор и до текущего времени использую коммуникацию с портами, открывая их обычный RandomAccessFile. В принципе, если нужно только читать и писать данные — подходит вполне. Тем более, что решение железобетонно стабильное.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.