我正在尝试使用多个命令实现服务器。大多数命令到目前为止工作,除了我希望服务器在客户端向quit命令写入参数时向客户端发送警告。 (I.E.退出xyz)并让用户再次尝试而不是退出服务器。不幸的是,服务器退出用户是否键入quit或quit arguments。
bool done = false;
do
{
if(strcmp(cmd, "quit") == 0)
{
if(strcmp(argument, "") != 0)
strcpy(replyMsg, "504 Command not implemented for that parameter.\n");
else
{
strcpy(replyMsg,"221 Service closing control connection.\n");
done = true;
}
}
while(strcmp(cmd, "quit") != 0 && done != true);
答案 0 :(得分:1)
我会用:
...
}
while(!done);
没有必要检查cmd
。
答案 1 :(得分:0)
你的循环结构似乎在while
之前缺少大括号
错了,或者是错字。先检查一下,然后看看正确的代码。
答案 2 :(得分:0)
在while条件下删除cmd上的测试。每当用户选择“退出”时,它的计算结果为false,因此整个表达式由于连接和循环退出而为假