Это базовая программа, которая общается с сервером.Он просит клиента ввести либо R, P, либо S, а затем отправит ответ (1, 2 или 3).Сервер примет собственное решение, примет решение игроков, подсчитает победителя и затем отправит победителя обратно.
Вот мой код для отправки его с клиента на сервер.
char choice[1];
bool done = false;
while (!done) {
printf("Rock = R , Paper = P, and Scissors = S\n");
printf("Enter your choice:");
scanf("%s", decision);
switch (decision[0]) {
case 'R' :
decision[0] = '\0';
choice[0] = '1';
done = true;
break;
case 'P' :
decision[0] = '\0';
choice[0] = '2';
done = true;
break;
case 'S' :
decision[0] = '\0';
choice[0] = '3';
done = true;
break;
default :
decision[0] = '\0';
printf("That is not a correct entry. Please try again.\n");
}
}
char *sendChoice = &choice[0];
//*((char*)choice) = '1';
printf("Player Choice: %c\n", *sendChoice);
if (send(clientSocket, sendChoice, strlen(sendChoice), 0) < 0){
printf("send error\n");
}
Независимо от того, что я делаю, я получаю ошибку отправки.Я перепробовал все, что мог думать.Я искал в Интернете все, что может помочь, и я просто не могу понять, почему это не работает.
Если я закомментирую переключатель и цикл while и просто жестко запишу выбор клиента, он будет работать, поэтому он должен иметь какое-то отношение к оператору switch.
Должен отметить, что соединение работает.Это просто функция отправки, которая не работает.