为何传送文件成功后文件打不开?
一个很简单的小程序:
void CP2pDlg::OnServer()
{
// TODO: Add your control notification handler code here
const UINT PORT = 5500;
CSocket sockSrvr;
sockSrvr.Create(PORT);
sockSrvr.Listen();
CSocket sockRecv;
sockSrvr.Accept(sockRecv);
CFile myFile;
myFile.Open("F:\\mp3\\M263.mp3",CFile::modeRead);
int length = myFile.GetLength();
sockRecv.Send(&length,4);
byte *data = new byte[length];
myFile.Read(data,length);
sockRecv.Send(data,length);
AfxMessageBox("发送完毕");
myFile.Close();
delete data;
sockRecv.Close();
}
void CP2pDlg::OnClient()
{
// TODO: Add your control notification handler code here
const UINT PORT = 5500;
CSocket sockClient;
sockClient.Create();
sockClient.Connect("222.201.65.102",PORT);
int length;
sockClient.Receive(&length,4);
byte *data = new byte[length];
sockClient.Receive(data,length);
CFile destFile("D:\\M263.mp3",CFile::modeCreate|CFile::modeWrite);
destFile.Write(data,length);
AfxMessageBox("接收完毕");
destFile.Close();
delete data;
sockClient.Close();
}
客户端收到的绝大多数类型的文件都打不开,只有文本文件可以打开,请问为什么,谢谢!