2017-01-19 6 views
0

Мой сервер посылает мне следующее сообщение:Отправить несколько ответов на сервер от клиента в C

INFO 123456 \ п (число может варьироваться)

Я должен ответить на сервер с :

СЛОВО 123456 \ п - соответствующий ответ

В настоящее время мой код правильно отправляет один ответ. Тем не менее, сервер возвращается с ошибкой, когда я пытаюсь отправить второй ответ. Я чувствую, что это может быть связано с массивом символов reply_message? Любые мысли по этому поводу? Я разместил свой код ниже. Благодаря!

 while(1) { 
     server_reply[0] = '\0'; 
     printf("Server Reply: %s\n", server_reply); 
     n = recv(sockfd, server_reply, sizeof(server_reply), 0); 
     if (n <= 0) { 
      printf("Receive failed\n"); 
      return 1; 
     } 
     printf("Message Recieved from Server: %s\n", server_reply); 

     if (server_reply) { 
      char checkInfo[5]; 
      memcpy(checkInfo, &server_reply, 4); 
      checkInfo[4] = '\0'; 

      if (strcmp(checkInfo, "INFO") == 0) { 
       char reply_message[sizeof(server_reply) + 1]; 
       memset(reply_message, 0, sizeof(reply_message)); 
       strncpy(reply_message, "REPLY ", sizeof reply_message - 1); 
       char *replyNumber = server_reply; 
       replyNumber++; 
       replyNumber++; 
       replyNumber++; 
       replyNumber++; 
       replyNumber++; 
       strcat(reply_message, replyNumber); 
       strcat(reply_message, "\n"); 
       printf("Reply Message: %s\n", reply_message); 

       if ((send(sockfd, reply_message, strlen(reply_message), 0)) < 0) { 
        printf("Send failed"); 
        close(sockfd); 
        return 1; 
       } 
       printf("Message Sent: %s\n", reply_message); 
       reply_message[0] = '\0'; 
      } 
     } 
    } 

Я также опубликовал ошибку, которую я получаю.

enter image description here

ответ

0

Это понятно из приведенного выше кода

"server_reply[0] = '\0';"

server_reply представляет собой массив или указатель на символ. Делая

"memcpy(checkInfo, &server_reply, 4);"

нет никакой необходимости "&".

Смежные вопросы