Nano Hash - криптовалюты, майнинг, программирование

Отправить изображение xmppfrmaework

Я настроил сервер ejabberd на локальном хосте, затем зарегистрировал учетную запись на Adium, выбрав сервер XMPP (jabber) на порту 5222. После этого я настроил учетную запись в мобильном тестовом приложении и успешно отправил сообщения между двумя пользователями (Adium/тестовое приложение). . Но я столкнулся с проблемой (нет сообщений об ошибках в консоли) при отправке изображения из моего тестового приложения в Adium. Не получается на Adium.

NSData *dataF = UIImageJPEGRepresentation(imageName, 0.0);


NSString *imgStr = [dataF base64EncodedStringWithOptions: 0];


NSXMLElement *body = [NSXMLElement elementWithName:@"body"];

[body setStringValue:@"123"];


NSXMLElement *ImgAttachement = [NSXMLElement elementWithName:@"attachment"];

[ImgAttachement setStringValue: imgStr];


NSXMLElement *message = [NSXMLElement elementWithName:@"message"];

[message addAttributeWithName:@"type" stringValue:@"chat"];

[message addAttributeWithName:@"to" stringValue:jid];

[message addChild:body];

[message addChild:ImgAttachement];


[self.xmppStream sendElement:message];

Любая помощь приветствуется.


Ответы:


1

Мы видели аналогичную проблему в нашем приложении для iOS. Я думаю, вам нужно каким-то образом добавить двух пользователей в друзья/контакты и убедиться, что вы включили модуль mod_vcard_xupdate в конфигурационном файле ejabberd. Посмотрите, поможет ли это.

12.10.2015
  • Спасибо за ваш ответ, но я не смог найти файл конфигурации, пожалуйста, объясните путь. 15.10.2015
  • Он должен находиться в папке conf в каталоге, где установлен ejabberd (у нас это /opt/ejabberd) 15.10.2015
  • В папке conf есть 4 файла. Я искал mod_vcard_xupdate в ejabbered.yml и все такое, но не смог найти модуль. Спасибо 16.10.2015
  • В этом файле yml у вас должна быть запись для mod_vcard:[], а также одна для mod_vcard_xupfate:[], если они их не добавляют. Это то, что я имел в виду под включением модуля 16.10.2015
  • Я попробовал способ, который вы предложили, но почему-то это не сработало. Пожалуйста, помогите мне. Спасибо. 16.10.2015
  • Вы перезапустили ejabberd? Используете ли вы код, связанный с vcard, в IOS? Я не человек IOS, но я помню, как наш разработчик IOS кодировал некоторый код, используя расширения vcard. Наконец, сначала протестируйте в adium, создав двух друзей/приятелей друг с другом и убедитесь, что вы оба аватары друг друга, прежде чем проверять в IOS. 16.10.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..