Visual C++网络编程经典案例详解 第4章 FTP浏览器 登录FTP服务器 登录FTP服务器 分析数据

客户端的在接收服务器返回的信息以后
用户需要将返回的信息内容进行分析
以得到用户所需要的数据
信息是一个字符串形式
由3个数字 一个空格和一段文字信息组成

第1个数字若为1或者2
则表示返回值正确
若为3
表示一个中间层的肯定回答
此时 服务器会等待客户端进一步的信息
若为其他
则表示错误

第2个数字表示回答的类型
若为0
则表示语法错误
若为1则表示信息内容

第3个数字表示对错误进行具体的分类

在文字信息中
如果内容为ERROR表示出现用户名或密码错误
否则,表示验证成功
下面将使用自定义函数Recv()来接收数据
然后对数据进行分析

CString str1=" "; //初始化字符串变量 用于存放服务器返回的信息
char ch; //定义字符变量 用于字符比较
int i=0;  //循环变量初始化为0
strl=Recv();  //调用Recv()函数得到服务器返回的信息
if(str1.GetLength()>0) //标胶str1的长度
{
    ch = str1.GetAt(i); //将接收到的第一个字符赋给ch
}
if(ch==1&&ch==2) //如果返回的第一个字符等于1或者2 表示返回值正确
{
    while(i<= str1.GetLength()&&ch!=NULL)
    {
        switch(ch)
        case ERROR: //出现错误
          MessageBox("用户名或密码错误!");
          break;
        case SUSS: //验证成功
          MEssageBox("登录成功!");
          return true;
          break;
        ch = str1.GetAt(++i); //循环查看返回的信息
    }
}

在代码中
用户通过Cstring::GetAt(0)函数可以获得服务器返回信息的第一个字符
如果第一个字符等于1或2
则表示返回值正确
否则表示发生错误
最后
使用便利i进行循环获得命令值
如果ERROR表示验证错误
否则表示成功

猜你喜欢

转载自blog.csdn.net/eyetired/article/details/83016273
今日推荐