На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: PIL
  
> ByteArray
    Здравствуйте.
    Вот возникла такая проблемка.
    Значится, пишу "упрощенный до нельзя" приемник snmp trap на actionScript. Приходит trap с кучей различной информации, но меня интересует только текстовое поле. Всё приходит в виде ByteArray.
    Отправляется вот такая строка:
    snmptrap.exe -c public -v 2c 172.16.0.101:162 "" 1.3.3.3.3.3.3.3 1.2.2.2.2.2.2 s "Некая строка"
    Кодируется это всё через ASN.1 автоматически на стороне отправителя.
    Принимаю через DatagramSocket.
    Читаю так:
    ExpandedWrap disabled
      event.data.readUTFBytes( event.data.bytesAvailable )

    Получается текстовая строка
    0\ public�O '�

    До этого писал такую же штуку на C++. И простой манипуляцией:
    ExpandedWrap disabled
      void __fastcall TForm1::ServerSocketUDPRead(TObject *Sender,
            TStream *AData, TIdSocketHandle *ABinding)
      {
      char *resp = (ServerSocket->ReceiveString()).c_str();
      }

    получал указатель на полную закодированную строку в 94 символа, в которой было много белиберды, но строка "Некая строка" и сообщения была нормально читаемой и с ней можно было работать.
    Как мне сделать примерно такое же в ActionScript? Может есть какой-то метод перевода массива байт в осмысленную строку в нужной кодировке?..
    readMultiByte(...); тоже ничего осмысленного не приносит, или чего-то неправильно указываю...
    Пользовался AS3Crypto, но там DER, а не BER, и не подходит. Да и не надо мне все поля целиком знать. Только сопутствующий текст.
    Спасибо
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0180 ]   [ 15 queries used ]   [ Generated: 8.10.24, 18:14 GMT ]