Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Сети > Сетевая игра MFC-Winsock |
Автор: variag 19.8.2009, 21:22 |
Здравствуйте! Меня зовут Владимир. Мне нужно написать сетевое приложение - игру "Камень-ножницы-бумага" в Visual Studio 6.0 с использованием библиотек Winsock и MFC (класс CSocket применять нельзя). Есть сервер, есть два клиента (если два клиента уже подключились к серверу, то третьему, совершающему подключение, должно быть отказано в этом без блокирования интерфейса). Каждый клиент отправляет серверу слово: или "камень", или "ножницы", или "бумага". Сервер должен принять эти данные, решить, кто выиграл, и отправить строки типа "Вы выиграли" и "Вы проиграли" соответственно клиенту-победителю и клиенту-проигравшему. У меня есть работающие заготовки клиента и сервера. Они прикреплены ниже. Чтобы запустить программы, их надо скомпилировать (в папках проектов нет папки Debug). Очень прошу помочь. С уважением, Владимир. |
Автор: andrew_121 20.8.2009, 01:32 |
а в чем вопрос собственно? ![]() |
Автор: variag 20.8.2009, 15:23 |
Вопрос вот в чем: как организовать программу? Я думаю так. Сервер загружает библиотеку Winsock, создает сокет для прослушивания, привязывает его к локальному интерфейсу, переводит этот сокет в режим прослушивания (второй параметр у функции listen равен 2, так как надо, чтобы подключалось только два клиента), затем принимает подключения клиентов и обслуживает каждого из двух клиентов в отдельном потоке. Что значит обслуживает: сначала принимает строку от каждого клиента: "камень", "ножницы" или "бумага", потом вызывает функцию для определения победителя и проигравшего (ее я, в принципе, сделал), затем отправляет строки-результаты клиентам. Что касается клиентов, то, я полагаю, что код имеющегося клиента менять не надо, так как он делает то, что должен: сначала отправляет данные серверу, а потом получает строку от сервера. Основная работа должна быть над сервером. Забыл сказать: заготовки, что у меня есть - это эхо-серверное приложение. То есть, мне надо переделать эхо-сервер в сервер, обслуживающий двух клиентов и обрабатывающий данные, полученные от них. Я пробовал писать, но работающего приложения у меня не получилось. |
Автор: J0ker 21.8.2009, 01:03 | ||
этот параметр предназначен не для этого |