Авторские статьи @ mrim.pl: Написание скриптов, работающих по протоколу MMP

Discussion in 'Статьи' started by Digimortal, 16 Apr 2007.

  1. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    >> это ведь не просто мусор?

    нет конечно, это rtf-текст твоего сообщения, упакованный gzip и закодированный base64..
    прочитай в описании пакетов про MRIM_CS_MESSAGE: http://digimortal.0x48k.cc/articlz/mrim-packets.txt
     
  2. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    это я читал))) толбко я не могу понять для чего он нужен
     
    1 person likes this.
  3. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    вы МАгентом пользовались хоть раз? там можно пересылать отформатированный в формате rtf текст (фон цветной, шрифт ит.д.) - это я думаю вам нафик не надо, если конечно вы свой мрим-клиент не собрались писать.. )
     
  4. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    пользовался... раз пять... надо наверное поюзать
     
  5. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    вот дампы пакетов:
    мой:
    серва
    версия протокола это именно 0D 00 01 00
    так почему они различаются?
    неужели мэил уже успели изменить протокол?
     
  6. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    ну да, а что в этом удивительного?
    в МАгенте постоянно появляются новые возможности, а следовательно и новые версии протокола появляются..
     
    1 person likes this.
  7. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    ну всё равно как - то...
    для меня немног времени прошло, а уже на три еденички протокол поменяли
    всмысле три раза
    я думаю мэилпрото не станет таким как асику.
    тоесть не будет делать так, что клиенты работающие по старому протоколу, не смогут дажо залогинитсо.
     
    2 people like this.
  8. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    хм, строю пакет, вот дамп
    не могу понять почему не доходит.
    если поставить NORECV (04 00 00 00), мессага прекрасно идёт, а если rtf, то не доходит.
    плюс нету потвержения.
    помогите

    и кста, если не трудно, преведите пример потверждения получения мессаги.
    никак не могу понять как он строитсо
     
    #28 x-treem, 18 Apr 2007
    Last edited: 18 Apr 2007
    1 person likes this.
  9. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    ну, чтоб ставить флаг rtf, надо саму rtf-часть наверно в сообщение вкладывать.. а зачем тебе это? поставь просто в значение флага 0..
    а собрать пакет для подтверждения очень просто:
    Code:
    sub message_recv
    {
    	my ($from, $msg_id) = @_;
    	my $data = pack ("L", length($from)) . $from . 
    		       pack ("L", $msg_id);
    
    	print $sock make_mrim_packet( $MRIM_CS_MESSAGE_RECV, $data);
    	$seq_real++;
    }
    
     
    1 person likes this.
  10. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    хех, если бы всё так просто
    просто не так выразился, я имел ввиду дамп а не сабу.
    сорри.
    тут вот в чём вопрос:
    from - это мыло отправителя или его айпи?
    msg_id - это seq пакета с мессаджем котороый пришёл?

    вот это у мну и составило проблему.
     
  11. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    >> from - это мыло отправителя или его айпи?

    мыло конечно..

    >> msg_id - это seq пакета с мессаджем котороый пришёл?

    нет.. это поле msg_id в данных пакета..
     
    #31 Digimortal, 18 Apr 2007
    Last edited: 19 Apr 2007
    2 people like this.
  12. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    хммм, вот посмотри какой пакет потверждения получился:
    а пакет мессажа вот так выглядит
    но он ничего не потверждает(
    не могу понять
     
    #32 x-treem, 19 Apr 2007
    Last edited: 19 Apr 2007
  13. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    ты должен отпраялять не тот seq, что в заголовке MRIM_CS_MESSAGE_ACK, а тот что в msg_id этого пакета.. у тебя он равен C3 00 00 00 .. а ты отправляешь 03 00 00 00 .. (это я, наверно, своим предыдущим ответом немного сбил тебя с толку - msg_id отпраляется не тот что получает получатель сообщения, а тот, что передает отправитель.. )
     
    #33 Digimortal, 19 Apr 2007
    Last edited: 19 Apr 2007
  14. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    вот смотрел старые скрипты. много думал. наткнулся на скрипты свзяаные с мэил агентом.
    вспомнил)) и вот значит вспомнил что хотел бота написать. тока думал как же сделать посылку этого гадостного пинга (пакет уходящий каждые 30 секунд). додумался. и забыл.
    а сейчас вспомнил. значит можно просто использовать потоки(модуль threads). то есть запускаем бота. и выделяем отдельный поток, который будет слать пинг, а затем спать 30 секунд. вот вообщем то и все. написал потому, что в определённый момнет это составило для мну проблему. надеюсь что кому то помогу.
     
    2 people like this.
  15. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    у меня в черновом варианте кода, рядом с функцией пинга комментарий даже стоит: типа, запустить отдельный тред и пинговать из него... )
     
  16. yxactuk

    yxactuk Member

    Joined:
    29 Sep 2007
    Messages:
    6
    Likes Received:
    6
    Reputations:
    0
    а можно куда-нибудь перезалить, если у кого-нить остался, ато ссылка битая.
     
  17. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    http://agent.mail.ru/developers/
     
  18. yxactuk

    yxactuk Member

    Joined:
    29 Sep 2007
    Messages:
    6
    Likes Received:
    6
    Reputations:
    0
    Вообще не в тему. Если раскрыть глаза и вчитаться в пост то там написано -
    http://digimortal.0x48k.cc/articlz/mrim-packets.txt - отредактированное мной описание пакетов. Я и хотел бы посматреть, что именно автор там писал, может чего-нибудь новенькое или поподробней.
     
  19. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    да ниче особо нового там не было.. я тока написал немного своих наблюдений по некоторым пакетам, добавил описания пакетов, необходимых для отправки смс, написал кое-какие идеи по этому поводу, и привел это все в более удобный (по моему мнению) вид.. сорри, но у меня щас нету возможности выложить тот файл..
     
    #39 Digimortal, 6 Oct 2007
    Last edited: 6 Oct 2007
  20. sumr

    sumr New Member

    Joined:
    9 Nov 2007
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Интересует именно отправка СМС -
    дайте пож информацию! :(