Пытаюсь понять как работает.Пока ничего невыходит.Абсолютно непонятно как пакеты формировать Пробывал так Code: 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.Как же надо составлять эти долбаные пакеты?