关于FTP客户端的数据端口接收数据的问题
大家好:
我在用SOCKET编写FTP客户端时,假如我已经从文件列表中获取了文件名filename,接下来发送了buf="RETR filename\r\n";我要怎么去接收数据,并写入本地的filename文件里面。
下面是我写的,但接收不了
LRESULT CFTPClientMFCDlg::OnServerMessage(WPARAM wParam, LPARAM lParam)
{
SOCKET socket,ts;
int length,i,j;
CString str="";
CFile theFile;
char* pBuff=new char[1024];
UINT Received=0;
UINT temp=0;
////////////////////////////////////////////
switch(lParam)
{
case FD_ACCEPT:
socket=accept(data->dataSock,NULL,NULL);
length=m_connectionList.GetCount();
m_connectionList.AddHead(socket);
return 0;
case FD_READ:
length=m_connectionList.GetCount();
for(i=0;i<length;i++)
{
socket=m_connectionList.GetAt (m_connectionList.FindIndex(i));
if(socket==wParam)
{
temp=0;
temp=recv(socket,pBuff,1024,0);
Received+=temp;
str+=pBuff;
}
ofstream outfile;
outfile.open("g:\\Test3.txt",ios::out | ios::app| ios::binary);
outfile<<str;
}
return 0;
case FD_WRITE:
return 0;
case FD_CLOSE:
return 0;
default:
return 0;
}
}