16,472
社区成员
发帖
与我相关
我的任务
分享
//发送端
BYTE *pbyJpg=(BYTE*)GlobalLock(hMemJpg);// 这一步没问题
UINT mysize;
char *buf;
buf=new char[BUFLEN];
mysize=GlobalSize(hMemJpg);
for(int i=0;i<((WORD)mysize/BUFLEN);i++)
{
CopyMemory(buf,pbyJpg+BUFLEN*i,BUFLEN);
send(sockConn,buf,strlen(buf)+1,0);
}
if (mysize%BUFLEN!=0)
{
CopyMemory(buf,pbyJpg+BUFLEN*(mysize/BUFLEN-1),mysize%BUFLEN);
send(sockConn,buf,strlen(buf)+1,0);
}
//接收端 不能得到正确数据,不知为什么 如果正常接收完数据后用cimage 如何正确显示出来呀(从数据流中完成后读取)
char FrecvBuf[BUFLEN];
FILE *wbfp = fopen("d:\\my.jpg","wb");
memset(FrecvBuf, '\0', sizeof(FrecvBuf));
for (int mycount=0;mycount<PasteCount;mycount++)
{
length=recv(sockClient,FrecvBuf,BUFLEN,0);
fwrite(FrecvBuf,1, length,wbfp);
memset(FrecvBuf, '\0', sizeof(FrecvBuf));
}
fclose(wbfp);