首页 > 代码库 > Linux c服务端接收图片c/c++语言module

Linux c服务端接收图片c/c++语言module

---恢复内容开始---

由于深度学习任务的需要,要在程序里面嵌入一个module。

这个module 的功能是接收来自ios客户端的图片。并且传送给深度学习分类器进行处理。

于是看了看各种各样的 module 实现方案。

1 先是用IO函数把图片以数组的方式存起来。

再和服务器建立连接,socket传这个数组。

然后服务器接收完数组以后就再运用IO函数 把数组以图片的方式存起来!

还有代码

bool ReadFileToBuffer( CString strFile,string& strBuffer )
{
    strBuffer.clear();
    CFile file;
    if( !file.Open(strFile,CFile::modeRead) )
    {
        AfxMessageBox("打开路径文件失败!");
        return false;
    }
    size_t nSize = file.GetLength();
    if ( nSize==0 )
    {
        AfxMessageBox("size==0!");
        return false;
    }
    char* pBuffer = new char[nSize];
    nSize = file.Read(pBuffer,nSize);
    if ( nSize==0 )
    {
        AfxMessageBox("size==0!");
        return false;
    }
    strBuffer.append(pBuffer,nSize);
    delete[] pBuffer;
    file.Close();
    return true;
}

  

第二种是需要运用http协议,post方式。

第三种使用Socket 对结构体 长字符 图片的传输

本质上和第一种没什么区别,关键是多线程接收。

 

Linux c服务端接收图片c/c++语言module