Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
MMP протокол формирование пакета |

18.10.2009, 23:06
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
MMP протокол формирование пакета
Пытаюсь понять как работает.Пока ничего невыходит.Абсолютно непонятно как пакеты формировать  Пробывал так
Код:
int _tmain(int argc, _TCHAR* argv[])
{
SOCKET s;SOCKADDR_IN adr;WSADATA wsd;
WSAStartup(MAKEWORD(2,0),&wsd);
hostent *h;
char Ip[1024];
char *datain=new char[1024*1024];
memset(datain,NULL,1024*1024);
h=gethostbyname("mrim.mail.ru");
sprintf(Ip,"%d.%d.%d.%d",(unsigned char)h->h_addr_list[0][0],(unsigned char)h->h_addr_list[0][1],(unsigned char)h->h_addr_list[0][2],(unsigned char)h->h_addr_list[0][3]);
adr.sin_family=AF_INET;
adr.sin_addr.s_addr =inet_addr(Ip);
adr.sin_port = htons(2042);
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
connect( s,(sockaddr *)&adr, sizeof(adr));
recv(s,datain,1024*1024,0);
closesocket(s);
int mraport;
char *buf=new char[1024];
strtok(datain,"\n");
strcpy(buf,strstr(datain,":"));
buf+=1;
mraport=atoi(buf);
buf-=1;
delete []buf;
strtok(datain,":");
strcpy(Ip,datain);
memset(datain,NULL,strlen(datain)+1);
adr.sin_family=AF_INET;
adr.sin_addr.s_addr =inet_addr(Ip);
adr.sin_port = htons(mraport);
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
connect( s,(sockaddr *)&adr, sizeof(adr));
mrim_packet_header_t data;
mrim_packet_header_t _data;
mrim_connection_params_t params;
data.dlen=0;
data.msg=MRIM_CS_HELLO;
data.magic=PROTO_VERSION;
data.seq=0;
data.magic=CS_MAGIC;
data.fromport=mraport;
data.from=0;
cout<<send(s,(char*)&data,sizeof(data),0)<<endl;
int received=0;WSASetLastError(0);
received=recv(s,(char*)&_data,sizeof(_data),0);
cout<<received<<_data.seq<<endl;
printf("%d",WSAGetLastError());
closesocket(s);
getch();
WSACleanup();
return 0;
}
А ответ не бубум .То есть recv возвращяет 0.Как же надо составлять эти долбаные пакеты?
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|