Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2011, 17:09   #1
3AXAP
Новичок
Джуниор
 
Регистрация: 14.07.2011
Сообщений: 2
Печаль MMP реализация на C++(Mail Agent)

Доброго времени суток, ув. форумчане!
Пытаюсь отправить пакет MRIM_CS_HELLO , отправка как бы проходит успешно, но recv отдает -1.
Вот моя часть кода, которая не работает:
Код:
/*Непосредственно работа*/
    mrim_packet_header_t packet;//Объявляю пакет

    memset((char *)&packet,0,sizeof(mrim_packet_header_t));//Зануляю

    packet.msg = MRIM_CS_HELLO;
    packet.magic = CS_MAGIC;
    packet.proto = PROTO_VERSION;
    packet.seq = seq_real;//Это счетчик последовательности. В данном случае = 1
    packet.from = 0;
    packet.fromport = PORT;//Это порт, который был получен, как рекомендованный
    packet.dlen = 0;

    send(global,(char *)&packet,sizeof(packet),0);//Отправляю

    seq_real++;//Увеличиваю счетчик

    MessageBox(0,"Query send","DEBUG",0);//Для отладки

    mrim_packet_header_t returned;
    int result = recv(global,(char *)&returned,sizeof(returned),0);//Принимаю
	
    char b[256];sprintf(b,"Size %d Code %02X",result,returned.msg);//Беда в том, что размер = -1

    MessageBox(0,b,"DEBUG",0);


    /*Конец кода*/
Поиском я пользовался, пробовал, но из того, что я находил ничего не помогает.
Весь проект: http://zalil.ru/31421742
3AXAP вне форума Ответить с цитированием
Старый 15.07.2011, 19:42   #2
3AXAP
Новичок
Джуниор
 
Регистрация: 14.07.2011
Сообщений: 2
По умолчанию

Итак, сегодня я проблему с MRIM_CS_HELLO исправил. Все пришло как надо, интервал пришел нормально - 30 сек. Проблема была в самом proto.h от маила. Resever в структуре есть массив из 16 четырехбайтовых велечин, а по многим отзывам, размер пакета должен составлять 44 байта. Переименовав тип из u_long в BYTE проблема сразу решилась. Но тут же образовался второй вопрос. Как послать запрос авторизации? Каким методом? Возможно ли посылать построчно?
3AXAP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Mail Agent doniyor Работа с сетью в Delphi 5 29.04.2010 08:03
протокол MMP (он же MRIM он же Agent.Mail.Ru) MainNika Работа с сетью в Delphi 72 02.03.2010 16:47
работа с компонентом mail.ru agent D_E_N Работа с сетью в Delphi 1 19.12.2009 20:09