проблема с вызовом read
у меня есть структура данных
enum Type
{
INT,
VECTOR
};
typedef struct typeless
{
Type type;
void *value;
typeless()
{
value = new void*;
}
void setValue(void *val, Type typ)
{
value = val;
type = typ;
}
~typeless()
{
delete value;
}
}typeless;
на программе клиента я создаю переменную этого типа присваиваю нужное мне значение и через write отправляю на дескриптор сокета сервера. после того как сервер прочитал значение :
if (0 > (ReadBytes = read(pd[i], &messangeFrom[i], sizeof(&messangeFrom[i]))))
{
printf("ошибка чтения данных:%d\n", errno);
return -1;
}else if(ReadBytes > 0)
{
switch(messangeFrom[i].type)
{
case INT:
key = *static_cast<int*>(messangeFrom[i].value);
printf("сообщение от игрока:%d\n", key);
switch (key)
{
default:
break;
}
case VECTOR:
default:
break;
}
сервер получает не нужное значение а какую то случайную цифру. кто то знает почему так и как это поченить?