ОБСУЖДЕНИЕ

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

4 ответов 3,8 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

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

есть следующая структура
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 и отправлялась, а потом у клиента собиралось из буфера и автоматически конвертировалось назад. Все компилируется, но клиенту ничего не приходит. возможно я мудрю и это все отправить можно гораздо проще. если же нет, в чем может быть ошибка ?
 
при отправке выполняй явное приведение типа своей структуры к char*, union не нужен.
 
C++:
int Send(A_Data* pS)
{
....
write(SendingSocket, (LPBYTE)pS, sizeof(A_Data));
}
 
Nibellin, какой компилятор?
 
да все, разобрался уже, под конец дня порт не тот указывал в клиенте, всем спасибо в любом случае
 

Ещё по теме