解决方案 »
- 如何给对话框加载图片背景,使得窗口大小改变时,上面的控件任存在
- 在文件打开对话框中打开文件后有时主窗口界面无响应
- 关于vc生成dll
- 想找一个控件,界面与 CuteFTP 和 LeapFTP 上传下载界面类似,功能一样的控件
- 如何得到鼠标点击edit控件之后光标在第几个字符上?
- win2000 中 wininit.ini 还好用吗? 我要重启机器后删除文件
- DB-Library 的问题
- 关于CListCtrl的问题???
- 如何在特定路径下搜索相应文件?
- =====怎么在vc中使用bcb做的dll,dll该怎么用=========
- _RecordSetPtr如何将XML导回数据库
- WSAAsyncSelect
//closesocket(sockClient);这句先屏蔽掉看看.
{
recv(sockServer,recvname,100,0);
S_name.Format("%s",recvname);
i++;
//MessageBox(hDlg,S_name,"文件名",NULL);
break;
}
if(i==2)
{
recv(sockServer,recvsize,100,0);
recvlen=atoi(recvsize);
recvedBuffer= (char*)malloc(recvlen);
memset(recvedBuffer,0,recvlen);
i++;
//MessageBox(hDlg,recvsize,"文件大小",NULL);
break;
}
这一段可能就有问题,
因为tcp协议是流式协议,你怎么来给这个流定界呢?
所以,可能获取到的文件名于实际传输的文件名不一样,包括recvlen这个东东。另外,最后,获取文件内容的时候也没有判断对方关闭socket连接的情况,如果对方关闭了连接,recv会返回0的。