Показать сообщение отдельно

  #5  
Старый 31.07.2009, 17:13
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

1. читаешь описание протокола MRA
2. изучаешь winsock
3. учишся работать сниффером

Ну а теперь по делу.
1. Тебе нужно сконектится с сервером mrim.mail.ru по порту 2042 или в случае неудачи по порту 433, он тебе ответит такой примеро строчкой "94.100.179.34:2041" тобишь IP:PORT
2. конектишся по этому ip и порту
послылаешь серверу пакет MRIM_CS_HELLO он тебе отвечает MRIM_CS_HELLO_ACK в котором будет содержатся период пинга (обычно 30 сек) создаешь новый поток который будет послыать пинг через указанный интервал (ну выучишь че такое СreateThread и WaitForSingleObject)
3. сервер постоянно шелт тебе пакеты которые ты должен принимать и разбирать
поэтому создаешь еще 2 потока
один приема другой отправки.
4 после установки соединения и приема от сервака пакета MRIM_CS_HELLO_ACK
генерируешь MRIM_CS_LOGIN2 пакет и шлеш его серваку
в случае успешной авторизации он тебе пришлет MRIM_CS_LOGIN_ACK или MRIM_CS_LOGIN_REJ при неудаче...

З.Ы: любые данные серверу после авторизации нужно слать только после того как сервер пришлет MRIM_CS_USER_INFO...
если делать будет мне нефиг напишу статейку, давно обещал.
 
Ответить с цитированием