• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Отправка Union По Tcp

  • Автор темы Nibellin
  • Дата начала
N

Nibellin

Добрый день, помогите сообразить, конец дня, голова вообще не соображает.

есть следующая структура
C++:
typedef struct
{
char cmd;
short A[10]; 
} A_Data;

typedef union
{
A_Data someData;
char charData[1+sizeof(short)*10];
} SendStructure;


это все отправляется по TCP клиенту приблизительно так:
int Send(SendStructure *S)
{
....
write(SendingSocket, S->charData, 1+sizeof(short)*10);
}

задумка была, чтобы вся структура автоматически преобразовывалась в массив char и отправлялась, а потом у клиента собиралось из буфера и автоматически конвертировалось назад. Все компилируется, но клиенту ничего не приходит. возможно я мудрю и это все отправить можно гораздо проще. если же нет, в чем может быть ошибка ?
 
R

rrrFer

при отправке выполняй явное приведение типа своей структуры к char*, union не нужен.
 
G

grigsoft

C++:
int Send(A_Data* pS)
{
....
write(SendingSocket, (LPBYTE)pS, sizeof(A_Data));
}
 
N

Nibellin

да все, разобрался уже, под конец дня порт не тот указывал в клиенте, всем спасибо в любом случае
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!