Премного благодарствую, этот пост мне очень помог. Прошу, прокоментируйте парой строк что делают методы:
1) связанные с Roster. Я правильно понял, что Roster в jabber-е есть контакт-лист?
2) presenceChanged
И еще я столкнулся с такой проблемой: иногда связь по транспорту icq теряется, и надо бы переконнектиться именно нему, жаббер аккаунт же приконнекчен нормально. Но как это сделать через апи я совсем не нашел.
+ иногда во время перезапуска приложений в логах наблюдал, что icq сервер начинает злобно ругаться на то, что слишком часто коннектимся.
Вобщем хочется через яву четко контролировать процесс логина в сеть аськи, и мониторить это состояние. Возможно ли это делать через апи смак?
— Да, Roster — это контакт-лист.
— presenceChanged — изменение статуса одного из пользователей в контакт-листе
— Если транспорт теряет связь с сервером ICQ, он сам же ее и восстанавливает.
— Если слишком часто коннектиться, сервер ICQ перестанет пускать в
сеть, с этим ничего не поделаешь, надо коннектиться пореже.
— Транспорт присутствует в контакт листе, его состояние можно
контролировать через presenceChanged
1) примерно 5% контактов, что пишут на аську-бота, создают мессаги с кривой кодировкой. Автори, например
Можно ли как-то через АПИ узнать в какой кодировке намерен общаться контакт?
2) есть ли способ автоматически создавать на ejabber юзера, с заданными аська параметрами, и автоматически подключать этому жаббер юзеру гейт на аську?
1) Я не знаю никаких способов контролировать кодировку сообщений со
стороны пользователя.Транспорт сам перекодирует в UTF-8 все, что
может.
2) В настройках ejabberd можно разрешить регистрацию новых
пользователей через XMPP. В Smack новый пользователь создается
примерно так:
Столкнулся с двумя проблемами, может быть Вы их тоже встречали и знаете пути решения:
1) ICQ connection lost! Reason: [Failure instance: Traceback (failure with no frames): struct.error: unpack str size does not match format ]
Вот такое иногда (а иногда очень уж часто) делает транспорт в сообщениях
2) Иногда при отправле сообщения аська-номеру это же сообщение от этого аська номера возвращается
Подозреваю что виной всему pyicqt, но в гугле так и не нашел как пофиксить проблему.
Работа с ICQ в Java