![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Гость_Андрей |
|
|||
|
Unregistered |
Пишу некий аналог "аськи". Возникла следующая проблема:
Клиент отправляеть серверу XML таблицу с помощью XMLOutputtera через Sockets. Причём сервер всё получает,я это чётко вижу. НО НЕ ВИДИТ КОНЦА ДОКУМУНТА. , т.е. не идёт дальше строчки buider.build(in); in = socket.getInputStream()); SAXBuilder builder = new SAXBuilder(); Document receive = builder.build(in); Главная фишка в том, что если закрыть поток в клиенте , то всё приходит. Сразу говорю, flush() не помогает, да он и так вызывается в XMLoutputter 'е Т.е. у меня получается , что каждый клиент может отправить только одно сообщение. Причём проблема решается введением собственного входного потока и отправкой спецсимвола из клиента. Но так не должно быть!!! Должен же быть нормальный способ решения . Пробовал писать DTD, убил полдня, а эффект такой же |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Какой парсер пользуешь?
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Parser - тот ,который по умолчанию работает. Я смотрел примеры с Jdom.org Сделал всё так же, но почему конец не виден.
Может пример кода у кого есть, где SAXBuilder получает Document из потока (только не из файла), т.к из файла и у меня работает |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Эта... могу пример Апаческовского сакс парсера привести... Но у него чутка другой принцип работы...
|
|||
|
||||
| KDA |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.10.2003 Репутация: 1 Всего: 1 |
В данном случае Apache тоже не поможет.
Это происходит потому, что парсер ждет конца входного потока. Тут есть несколько выходов: 1: Создать свой входной поток, который вернет -1, когда xml данные закончатся 2: Создать ByteArrayInputStream, предварительно получить xml документ в буфер |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |