На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Обязательно выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Этот раздел предназначен для вопросов, посвященных разработке компонентов, а также для тестирования собственных бесплатных компонентов с открытым исходным кодом.

Здесь запрещается:
1. Размещать ссылки на какие-либо коммерческие компоненты, реализующие требуемую функциональность.
2. Обсуждать и тестировать коммерческие компоненты или компоненты с закрытым кодом.
3. Давать ссылки на сайты с исходным кодом компонентов. Все тестируемые исходные коды должы быть размещены на сайте ИСХОДНИКИ.RU.
Модераторы: Rouse_, DimaBr
  
> Jabber клиент. TJabberClient, Написал компоненту, потестируйте пожалуйста.
    С наилучшими пожеланиями.
    Написал простейшую компоненту для работы с XMPP протоколом, потестируйте пожалуйста.
    Может кому пригодится для личных нужд.
    Да и нужна Delphi >= 2009 на нижних версиях буду проблемы с юникодом.

    С уважением.
    Сообщение отредактировано: seryal -

    Прикреплённый файлПрикреплённый файлTJabberClient.rar (173.8 Кбайт, скачиваний: 1253)
      Поглядим. Как раз интересует данная тема. Спс.

      Добавлено
      Build
      [Fatal Error] Jabberd10.dpk(35): Required package 'IndyCore' not found
      [Fatal Error] Required package 'IndyProtocols' not found
      :o
        Версия Delphi какая?
          Delphi 7
          пробую переделать под нее.
          К инди пути исправил. Компонент установился.

          Чуть изменил в модуле: Jabber.pas

          function TJabberClient.GetSASLResponse(AStr: string): string;
          var
          ...
          //tmp: TBytes;
          tmp: TIdBytes;

          procedure TJabberClient.ParseReceive(Buffer: Pointer; BufLen: LongWord);
          ...
          {исправлено Юра XMLStr := XMLStr + UTF8ToString(StrEnd);}
          XMLStr := XMLStr + StrEnd;
          ...
          в итоге

          ---------------------------
          Application Error / Ошибка приложения
          ---------------------------
          Exception / Исключительная ситуация EAccessViolation in module / в модуле demoapp.exe at / по адресу 00979B47.
          Access violation at address / Нарушение доступа по адресу 0097AB47. Write/Запись of address / по адресу 03E7A917.
          ---------------------------
          ОК
          ---------------------------

          ---------------------------
          Application Error / Ошибка приложения
          ---------------------------
          Exception / Исключительная ситуация EOSError in module / в модуле demoapp.exe at / по адресу 0000D56A.
          System Error. Code / Системная ошибка. Код: 5.

          Отказано в доступе.
          ---------------------------
          ОК
          ---------------------------

          Rich текст:

          <?xml version="1.0"?> <stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="www.nadra.corp" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace">
          Connected
          ---------
          <stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" id="1225814602" from="www.nadra.corp" version="1.0" xml:lang="en"/>
          <stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism></mechanisms><register xmlns="http://jabber.org/features/iq-register"/></stream:features>
          <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="DIGEST-MD5"/>
          <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">bm9uY2U9IjM4NTc1NDIzNzkiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
          <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dXNlcm5hbWU9InRlc3RqYWJiZXIiLHJlYWxtPSJ3d3cubmFkcmEuY29ycCIsbm9uY2U9IjM4NTc1NDIzNzkiLGNub25jZT0iYmIxZDRmZjZiYTg1ZjAwNGRhNTY5N2Y1YjFlZjYxNGMiLG5jPTAwMDAwMDAxLHFvcD1hdXRoLGRpZ2VzdC11cmk9InhtcHAvd3d3Lm5hZHJhLmNvcnAiLGNoYXJzZXQ9dXRmLTgscmVzcG9uc2U9NzZkNGM2NjI3NzAyNmUyMDgyYzkyNzAyODE4OWE2OWE=</response>
          <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>
          Disconnect
          ---------
          Login Error
          ---------
            в Delphi 7 проблема с юникодом, поэтому я как-то отказался от использования этой версии.
            Хотя начинал, в Delphi 7. Если SVN базу не прибил то может в загашниках где и лежит версия для семерки.
            И в семерке мне приходилось использовать сторонние библиотеки для работы с юникодом.
            Если интересно, могу поглядеть версию для Delphi 7.
              Да, очень интересно.
              Посмотри пож. если конечно не сильно напрягаю.
                Сегодня погляжу.
                  Simple Jabber component for Delphi 2009

                  http://sourceforge.net/projects/tjabberclient/files/

                  TJabberClient by seryal
                  Твой ?
                    да, ну там тоже самое.
                      Цитата YuraZZZ @
                      [Fatal Error] Jabberd10.dpk(35): Required package 'IndyCore' not found
                      [Fatal Error] Required package 'IndyProtocols' not found

                      это вообще 10индеец как бы так)
                      seryal написал бы лучше на winsock))
                      homepage
                        Не нашел под D7 ?
                          Блин, вылетело из головы совсем, дел куча, написал напоминание в телефон, посмотрю сегодня.
                            Не нашел я исходники под Delphi 7.
                            Могу подсказать, что я использовал TNT компоненты и их библиотеку классов для работы с юникодом.
                            Также для авторизации по DIGEST-MD5 использовался Indy9, код для авторизации я подсмотрел в исходниках Exodus.
                            Сообщение отредактировано: seryal -
                              Ясно, спасибо.
                                seryal
                                [DCC Error] janXPathTokenizer.pas(202): E2010 Incompatible types: 'TTokenOperator' and 'string'
                                [DCC Warning] janXPathTokenizer.pas(207): W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
                                [DCC Warning] janXPathTokenizer.pas(232): W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
                                [DCC Warning] janXPathTokenizer.pas(233): W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
                                [DCC Error] janXPathTokenizer.pas(315): E2010 Incompatible types: 'TTokenOperator' and 'string'
                                [DCC Error] janXPathTokenizer.pas(320): E2010 Incompatible types: 'TTokenOperator' and 'string'
                                [DCC Warning] janXPathTokenizer.pas(331): W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
                                [DCC Warning] janXPathTokenizer.pas(332): W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
                                [DCC Warning] janXPathTokenizer.pas(361): W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
                                [DCC Fatal Error] janXMLparser2.pas(7): F2063 Could not compile used unit 'janXPathTokenizer.pas'

                                Delphi 2009
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1011 ]   [ 15 queries used ]   [ Generated: 18.06.18, 23:04 GMT ]