socket代码问题!
时间:2011-12-25
来源:互联网
client:
C/C++ code
server:
C/C++ code
CClientSocket 继承自CAsyncSocket类,client端第二次发送数据时(即发送文件中的内容时),server端收不到数据产生中断,怎样解决此问题 ndata = Receive(szbuf,1024); //接收文件内容(中断位置),谢谢各位!
C/C++ code
void CclientDlg::OnBnClickedButtonSend() { // TODO: 在此添加控件通知处理程序代码 this->GetDlgItem(IDC_BUTTON_SEND)->EnableWindow(FALSE); FindClose(FindFirstFile(m_path,&FindFileData)); CString data; client.Send(&FindFileData,sizeof(WIN32_FIND_DATA)); UINT nsize = 0; UINT nsend = 0; int len = FindFileData.nFileSizeLow ; while (nsize < FindFileData.nFileSizeLow) { char * szbuf = new char[1024]; nsend = m_file.Read(szbuf,1024); client.Send(szbuf,nsend,0); nsize+= nsend; } client.Close(); m_file.Close(); MessageBox(TEXT("发送成功!")); this->GetDlgItem(IDC_BUTTON_SEND)->EnableWindow(TRUE); }
server:
C/C++ code
void CClientSocket::OnReceive(int nErrorCode) { // TODO: 在此添加专用代码和/或调用基类 CserverDlg * dlg=(CserverDlg*)AfxGetApp()->GetMainWnd(); Receive(&(dlg->FileInfo),sizeof(WIN32_FIND_DATA)); //接受文件信息 dlg->file.Open(dlg->FileInfo.cFileName,CFile::modeRead|CFile::modeWrite|CFile::typeBinary); //打开或创建文件 AfxMessageBox(dlg->FileInfo.cFileName); UINT nsize =0; UINT ndata =0; while (nsize< dlg->FileInfo.nFileSizeLow) //循环接收文件内容 { char * szbuf = new char[1024]; ndata = Receive(szbuf,1024); //接收文件内容 dlg->file.Write(szbuf,ndata); //接收到得信息写入文件 nsize += ndata; } SetFileTime((HANDLE)dlg->file.m_hFile,&dlg->FileInfo.ftCreationTime,//设置文件相关时间 &dlg->FileInfo.ftLastAccessTime,&dlg->FileInfo.ftLastWriteTime); dlg->file.Close(); SetFileAttributes(dlg->FileInfo.cFileName,dlg->FileInfo.dwFileAttributes); //设置文件属性 CString data; data.Format(TEXT("已存入文件:%d字节数据!"),sizeof(nsize)); AfxMessageBox(TEXT("接收完成,请点击接收完成已关闭套接字")); CAsyncSocket::OnReceive(nErrorCode); }
CClientSocket 继承自CAsyncSocket类,client端第二次发送数据时(即发送文件中的内容时),server端收不到数据产生中断,怎样解决此问题 ndata = Receive(szbuf,1024); //接收文件内容(中断位置),谢谢各位!
作者: zhuweigangzwg 发布时间: 2011-12-25
求高手!
作者: zhuweigangzwg 发布时间: 2011-12-25
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28