Функция vSendTurnMessage()
Когда приходит время отправлять сообщение о завершении хода, вызывается функция отправки сообщений. Ее код выглядит так:
void vSendTurnMessage(void) { char szTurnPacket[32]; intiBytes = 0;
// Создаем пакет-заглушку sprintf(szTurnPacket, "turnpacket"); // Отправляем пакет iBytes = send(g_skClientSocket, szTurnPacket, 32, 0); if(iBytes != SOCKET_ERROR) { } else { vShowText("** ERROR ** Sending"); return; } // Устанавливаем режим приема g_bMyTurn = 0; }
Код начинается с создания пакета для отправки его клиенту или серверу. Для демонстрационных целей в пакет помещается строка текста. Как только пакет собран, код посылает его другому игроку. Программа блокируется и ждет, пока получатель не подтвердит, что данные приняты. Так только подтверждение получено, сбрасывается флаг хода и функция завершает работу.