| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 830 人关注过本帖
标题:MFC中图片传输接收问题
取消只看楼主 加入收藏
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
结帖率:72.22%
收藏
已结贴  问题点数:20 回复次数:3 
MFC中图片传输接收问题
void CTransfer_clientDlg::OnSendfile()
{
    // TODO: Add your control notification handler code here

    //文件打开对话框
    CFileDialog send_dlg(TRUE);
    if( IDOK == send_dlg.DoModal() )
    {
        //获取文件路径
        CString path_name = send_dlg.GetPathName();

        //创建CFile
        CFile file_context(path_name,CFile::modeRead);
        
        char context[256] = "";

        long n =0;
        long i =0;
        //读取文件内容
        while( n=file_context.Read(context,sizeof(context)) )
        {   
            i=i+n;

            //发送文件内容
            if( SOCKET_ERROR == send(socket_client,context,sizeof(context),0) )
            {
                MessageBox("文件内容发送失败");
                return;
            
            }   

                memset(context,0,sizeof(context));
        }

        CString str ;
        str.Format("%d",n);
        MessageBox(str);
        //文件关闭
        file_context.Close();
        MessageBox("文件发送完毕");
    }
}

void CTransfer_clientDlg::OnRecvfile()
{
    // TODO: Add your control notification handler code here

    //指定文件保存路径
    CFileDialog recv_dlg(false);
    if(IDOK == recv_dlg.DoModal())
    {
        CString file_path =    recv_dlg.GetPathName();

        //在指定文件路径出创建文件
        CFile file_recv(file_path,CFile::modeCreate | CFile::modeWrite);
        
        //接收文件内容
        if(socket_client)
        {
            int n =0;
            char recv_context[256] = "";
            while(recv(socket_client,recv_context,sizeof(recv_context),0))
            {
                //填写内容
               
                file_recv.Write(recv_context,n);
                if(strlen(recv_context) < sizeof(recv_context))
                    break;
                    
            }
        }
        //文件关闭
        file_recv.Close();
        MessageBox("文本保存完毕");
    }
}

发送接收是内容大小出现错误总是有重复内容出现,图片也传不过去,大家看看什么问题,有相关代码的话给发一下,邮箱2976242910@,谢谢了
搜索更多相关主题的帖子: control 对话框 图片 
2015-02-27 12:16
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
收藏
得分:0 
现在图片能读出来了
是recv中缓冲区的大小问题,调成和图片一样大小就能接收到,但是如果是大文件就不怎么好了,怎么弄成分几次接收发送过来的文件。
求各位大侠指点

我本楚狂人,凤歌笑孔丘
2015-02-27 13:46
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
收藏
得分:0 
回复 4楼 天使梦魔
如果我要发一个图片文件,有10000张,是不是要先扫描最大的图片,然后按最大的图片大小来设置buffer大小,还有一个是我要传输大的压缩文件怎么弄?

我本楚狂人,凤歌笑孔丘
2015-02-28 10:45
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
收藏
得分:0 
回复 6楼 天使梦魔
版主有没有一个例子给我参考一下,或者相关的书籍参考一下

我本楚狂人,凤歌笑孔丘
2015-03-01 12:32
快速回复:MFC中图片传输接收问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.095875 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved