0

複数のコマンドでサーバーを実装しようとしています。クライアントが quit コマンドに引数を書き込んだときにサーバーがクライアントに警告を送信することを除いて、ほとんどのコマンドはこれまでのところ機能します。(IEはxyzを終了します)、ユーザーはサーバーを終了するのではなく、再試行できます。残念ながら、ユーザーが終了または終了引数を入力しても、サーバーは終了します。

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);
4

3 に答える 3

1

私はただ使用します:

...
}
while(!done);

ポイントチェックはありませんcmd

于 2013-10-15T19:08:26.607 に答える
0

while 条件の cmd でテストを削除します。ユーザーが「quit」を選択するたびに false と評価されるため、結合により式全体が false になり、ループが終了します。

于 2013-10-15T19:54:16.730 に答える