Не распарсивается ответ от Jabber-сервера -((
От: mDmitriy Россия  
Дата: 10.06.13 11:01
Оценка:
Доброго всем!

Установлен в сети OpenFire (jabber-сервер) с пользователями, группами и пр.
Пишу к нему бота для отправки сообщений на основе библиотеки agsXMPP.
Все хорошо, пока не доходит до запроса списка пользователей и групп (Iq).
По идее, сервер должен возвращать некий XML, который из-за ограничения размера буффера (1 кБ) разбивается на несколько буферов.
При парсинге некоторых буферов возникает Exception. Выяснил, что Exception возникает, если буфер заканчивается первым байтом UDF-символа с названием группы (условно — если в блоке нечетное количество символов, занимающих один байт).
Вопрос — как с этим бороться?

На сервер грешить не приходится, ибо куча разных jabber-клиентов с ним работают.
Спасибо.
Re: Не распарсивается ответ от Jabber-сервера -((
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 10.06.13 11:51
Оценка:
Здравствуйте, mDmitriy, Вы писали:

Что показыватье ваершарк?
Sic luceat lux!
Re[2]: Не распарсивается ответ от Jabber-сервера -((
От: mDmitriy Россия  
Дата: 10.06.13 11:58
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Здравствуйте, mDmitriy, Вы писали:


K>Что показыватье ваершарк?

что есть "ваершарк"?
Re[3]: Не распарсивается ответ от Jabber-сервера -((
От: Аноним  
Дата: 10.06.13 12:14
Оценка:
Здравствуйте, mDmitriy, Вы писали:
D>что есть "ваершарк"?
Re[4]: Не распарсивается ответ от Jabber-сервера -((
От: mDmitriy Россия  
Дата: 10.06.13 12:50
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, mDmitriy, Вы писали:

D>>что есть "ваершарк"?
А причем тут этот сайт?
У меня с сетью все хорошо, Spark и Pandion с моей машины работают; если игнорировать exception, то мой бот отправляет сообщение кому должен.
Смущает именно парсер, ибо часть информации о пользователях и группах теряется.
Re[3]: Не распарсивается ответ от Jabber-сервера -((
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 11.06.13 06:14
Оценка:
K>>Что показыватье ваершарк?
D>что есть "ваершарк"?
wireshark
Sic luceat lux!
Re[4]: Не распарсивается ответ от Jabber-сервера -((
От: mDmitriy Россия  
Дата: 13.06.13 06:53
Оценка:
Здравствуйте, Kernan, Вы писали:

K>>>Что показыватье ваершарк?

D>>что есть "ваершарк"?
K>wireshark
Зачем он мне? У меня с сетью проблем нет. Речь идет о самописном jabber-боте.
Коробочные версии на моей машине работают без проблем.
Re: Не распарсивается ответ от Jabber-сервера -((
От: neFormal Россия  
Дата: 13.06.13 07:05
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>Установлен в сети OpenFire (jabber-сервер) с пользователями, группами и пр.

D>Пишу к нему бота для отправки сообщений на основе библиотеки agsXMPP.

1199,- EUR per developer ?

D>Все хорошо, пока не доходит до запроса списка пользователей и групп (Iq).

D>По идее, сервер должен возвращать некий XML, который из-за ограничения размера буффера (1 кБ) разбивается на несколько буферов.
D>При парсинге некоторых буферов возникает Exception. Выяснил, что Exception возникает, если буфер заканчивается первым байтом UDF-символа с названием группы (условно — если в блоке нечетное количество символов, занимающих один байт).

кто парсит-то: ты или agsxmpp?
если либа, то проще поменять её
если ты, то накапливай данные
...coding for chaos...
Re[5]: Не распарсивается ответ от Jabber-сервера -((
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 13.06.13 08:58
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>Зачем он мне? У меня с сетью проблем нет. Речь идет о самописном jabber-боте.

О Б-же. Ты вообще программист? Тебе надо проблему локализовать. Если не можешь отдебажить проблему на уровне кода, смотри что ходит по сети и сравнивай с тем, что должно. Это же так просто.
D>Коробочные версии на моей машине работают без проблем.
Ну дык и посмотри как оно работает и какие сообщения ходят если не можешь осилить XMPP RFC.
Sic luceat lux!
Re[6]: Не распарсивается ответ от Jabber-сервера -((
От: mDmitriy Россия  
Дата: 13.06.13 10:06
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Здравствуйте, mDmitriy, Вы писали:

K>О Б-же. Ты вообще программист? Тебе надо проблему локализовать. Если не можешь отдебажить проблему на уровне кода, смотри что ходит по сети и сравнивай с тем, что должно. Это же так просто.
Может, и просто... Только мне это не интересно на данном этапе — я ведь не сервер отлаживаю, а клиента. Если другие джаббер-клиенты работают, значит сервер присылает им (а, соответственно, и мне) то что нужно.
И в дебаге я прекрасно вижу (прям в виде строки), что он мне присылает. Проблема в разборе присланного и она локализована (до протокола даже еще не дощло). Непонятно, как исправить малой кровью.
D>>Коробочные версии на моей машине работают без проблем.
K>Ну дык и посмотри как оно работает и какие сообщения ходят если не можешь осилить XMPP RFC.
Читаем внимательно исходный пост — вопрос был о конкретной библиотеке, а не о сетевом обмене вообще.
Re[2]: Не распарсивается ответ от Jabber-сервера -((
От: mDmitriy Россия  
Дата: 14.06.13 06:24
Оценка:
Здравствуйте, neFormal, Вы писали:
F>кто парсит-то: ты или agsxmpp?
F>если либа, то проще поменять её
Либа, либа... уже поменял
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.