-1

UDPクライアントサーバーアプリケーションを開発しました。ここで、クライアントが文字列「EXIT」を送信し、サーバーがこの文字列を受信し、「EXIT」文字列と比較してプログラムが終了するかどうかを確認します。しかし、私の場合、サーバーは受信した文字列を「EXIT」文字列と比較できません。以下は私がコーディングしているものです:

クライアント:

char exitBuffer[]="EXIT";
if (sendto(socketIdentifier,exitBuffer,strlen(exitBuffer) , 0 , (struct sockaddr *) &connectedSocket, sizeof(connectedSocket)) == SOCKET_ERROR)
{
    exit(EXIT_FAILURE);
}

サーバ:

if ((recv_len = recvfrom(socketIdentifier, receiveBuffer, sizeof(receiveBuffer), 0, (struct sockaddr *) &clientSocket, &clientSocketLength)) == SOCKET_ERROR)
{
    MessageBox(NULL,

    exit(EXIT_FAILURE);
}

// Now comparing the contents of receive Buffer
if (receiveBuffer == "EXIT")
{
    exit(0);
}
4

1 に答える 1

0

私はmemcmpを試してみました:)サーバー側で行われた比較は次のとおりです。

if(memcmp(receiveBuffer,"EXIT",5) == 0)
{
    //receiveBuffer is eqaul to "EXIT".
}
于 2013-03-18T07:45:32.083 に答える