Как правильно организовать потоки, события, сокеты для игрового сервера по UDP?

Рейтинг: -1Ответов: 2Опубликовано: 21.05.2011

Есть игровой сервер. Программа с ним общается по UDP. Задача - при запуске программы каждую секунду отправлять на сервер команду и получать на неё ответ. Также чтобы была возможность отправки другой команды на сервер (пока без приема ответа сервера), не убивая первую.

Выбрал путь создания асинхронного сокета с потоками. Мой алгоритм примерно такой:
При запуске программы создается Событие (CreateEvent()). Дальше создается Поток #1(CreateThread()). В потоке создается сокет. Создает две структуры (т.к. UDP, для отправки сообщения на сервер и для бинда порта на локальном компе, на который придет пакет с сервером). И дальше каким-то макаром (каким?) ежесекундно отправляет и принимает информацию. При нажатии на Кнопку 1 создается Поток #2, в котором создается сокет с одной структурой (адресом до сервера), оттуда же сразу отправляется команда серверу и тут же убивает поток.

Собственно и всё. Вопрос - насколько правильно я описал алгоритм? Что добавить/удалить/поменять местами? И как это лучше реализовать в общем можно?

Ответы

Ответов пока нет.