Quantcast
Channel: 看雪安全论坛
Viewing all articles
Browse latest Browse all 9556

【求助】Socket编程求助。。

$
0
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。。没办法接收呀。

Viewing all articles
Browse latest Browse all 9556

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>