//это заголовок, про который я говорю
typedef struct C_Header
{
unsigned char id_rc;
unsigned short len_data;
unsigned int num_pack;
unsigned int rsrv;
} C_Header;
...
//формирую данные для отправки
char buf1[192];
C_Header c_hdr;
char *ptr=NULL;
ZeroMemory(buf1,204);
ptr=buf1;
c_hdr.id_rc=0x44;
c_hdr.len_data=204;
c_hdr.num_pack=90542;
c_hdr.rsrv=0;
memcpy(ptr,&c_hdr,sizeof(c_hdr));
ptr+=sizeof(c_hdr);
AnsiString str;
str="RC ID:";
str+=c_hdr.id_rc;
str+="Length packet:";
str+=c_hdr.len_data;
str+="Number packet:";
str+=c_hdr.num_pack;
memcpy(ptr,str.c_str(),str.Length());
IdUDPServer->SendBuffer("127.0.0.1",31210,buf1,204);
.....
искажение принятых данных (UDP)
по UDP передается сообщение (192 Байта). В виде заголовка передаются нек. параметры (12 Байт).
Код:
Вопрос: на приемной стороне искажаются данные заголовка:
"DшМ ®a" - вот таким стал заголовок;
RC ID:68Length packet:204Number packet:90542 - а само сообщение в порядке.
Может я как-то неправильно структуру в буфер пишу? Пыталась через TMemoryStream - то же самое, так до кучи еще и сообщение стало таким же.
Спасибо!