//-----------------------------服务器代码--------------------
//------------------------------客户端代码---------------------------
为什么我服务端那边发送的随便一个数字,这边接收到的都是0,,比如我服务器有5个文件,,可是这边接收到的还是0。。没办法接收呀。
代码:
DWORD WINAPI CMDThread(LPVOID lpvoid) ///操作线程
{
int ret=0; //返回值
LPINFO * pvoid=(LPINFO *)lpvoid;
CMainControlDlg * pMain=pvoid->p;
SOCKET CMDSocket=pvoid->sock;
int VectorCount=pMain->vec.size(); //vector容器元素个数
char FilePath[MAX_PATH];
char buf[1024]={0};
DWORD NumberToRead;
HANDLE hFile=NULL;
recv(CMDSocket,buf,200,0);
if(!strcmp(buf,"Hello,This is Server Connect"))
{
pMain->MessageBox("有客户端连接成功");
// OutputDebugString("客户端连接成功");
}
else
{
closesocket(CMDSocket);
}
memset(buf,0,1024);
CopyMemory(buf,"nihao",sizeof("nihao"));
send(CMDSocket,buf,sizeof(buf),0);
memset(buf,0,1024);
recv(CMDSocket,buf,sizeof(buf),0);
if(!strcmp(buf,"Please Tell Me How Many File need to recv"))
{
memset(buf,0,1024);
sprintf(buf,"%d",VectorCount);
OutputDebugString("要发送的文件个数为");
OutputDebugString(buf);
send(CMDSocket,buf,sizeof(buf),0);
}
//------------------------------客户端代码---------------------------
代码:
har temp[200];
OutputDebugString("IE 进入命令线程 \r\n");
SOCKET sock=(SOCKET )lpvoid;
int VectorCount=0; //服务器传来的文件个数
HANDLE hFile=NULL;
DWORD NumberToWrite=0;
int ret=0;
char Recbuf[1024]={0};
char Senbuf[1024]={0};
char FileName[MAX_PATH];
CreateDirectory("D:\\TestLoad",NULL);
OutputDebugString("开始接收数据");
send(sock,"Please Tell Me How Many File need to recv",sizeof("Please Tell Me How Many File need to recv"),0);
ret=recv(sock,Recbuf,1024,0); ///从服务器接收需要处理的文件个数
OutputDebugString(Recbuf);
VectorCount=atoi(Recbuf);
for(int i=0;i<VectorCount;i++) //循环次数
为什么我服务端那边发送的随便一个数字,这边接收到的都是0,,比如我服务器有5个文件,,可是这边接收到的还是0。。没办法接收呀。