我遇到的问题是,接收的数据转成结构体后,结构体读取值不对,只有ret是对的,代码如下:
int ret = recv(deviceInfo.sockClient, (char *)(&recebuf), sizeof(recebuf), 0); //第二个参数使用强制类型,为一个数据包
SendStcuct *data_send=new SendStcuct;
data_send->size = size;
data_send->error_code = 999;
data_send->data_type = 2;
data_send->cam_no = deviceInfo.cam_no;
memcpy(data_send->sendbuf, data, size);
//int iRet = send(deviceInfo.socket, (char *)&data_send, sizeof(SendStcuct)-1, 0);
char sendbuf[1516];
memset(sendbuf, 0, 1516);
int count = 0;
memcpy(sendbuf, &((*data_send).size), sizeof(data_send->size));
count += sizeof(data_send->size);
memcpy(sendbuf + count, &(data_send->data_type), sizeof(data_send->data_type));
count += sizeof(data_send->data_type);
memcpy(sendbuf + count, &(data_send-