Socket+opencv发送图片问题

客户端:
IplImage src = cvLoadImage("2.jpg");
IpImage Send=*src;
send(sockClient, (char
)&Send, sizeof(Send)+1, 0);

服务端:
char tempBuf[10000];
recv(sockConn, tempBuf, 10000, 0);
IpImage recv;
memcpy(&recv, tempBuf, sizeof(tempBuf));
cvShowImage("result", &recv);

客户端没错,服务端到显示图片那里就出错了。总是显示内存错误。
大家有没有好的解决办法呢?

客户端那里是*src

单步调试一下,看看收过来的数据正确不?或者你申请的char 数组不够放

那估计就是内存申请小了,你先把大小发送过来,完后再new啊

不是大小的问题,我一张特别特别小的图片也不行。
cvShowImage()就显示内存异常.

但是如果我用cvSaveImage(),得到的图片尺寸是对的,但是完全不对,基本是黑和灰色。

那你打开图片,完后先show一下,看看打开的图片show出来,对不对?