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@,谢谢了