Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
3 / 3 / 1
Регистрация: 10.09.2014
Сообщений: 36
1

Игровой сервер

28.03.2016, 19:03. Показов 1483. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Пишу игру (стратегию (пошаговая/глобальная/RTS)) под Android, которая должна работать в онлайн режиме. Делаю я ее пока-что как хобби (и для дипломного проекта).
Так вот уже кое-что сделано на стороне сервера, но у меня возникают сомнения, насколько это правильные решения:
1. Есть один главный сервер, к которому подключаются все клиенты по tcp-протоколу, его основная задача - "оградить" внутреннюю структуру сервера (остальные сервисы и сервера) от игроков, как он работает: получает соединение, сохраняет его, и при получении данных от клиента отправляет их на один из сервисов обработки сообщений (отдельный "внутренний сервер"), на какой именно: он выбирает в зависимости от загруженности, то есть получается некий прокси-сервер.
2. Сервер обработки сообщений получает данные и бросает их в один из потоков (в каждом из которых имеется очередь для обработки), когда очередь дошла доходит до пакета данных, данные обрабатываются и отправляются на главный сервер, который их переправляет нужному клиенту.
3. Каждое подключение (сокет) в главном сервере также состоит в похожем потоке (как в пункте №2).
3. Для взаимодействия между сервисами используются обычные сокеты (протокол: tcp). WCF (или RPC) использовать не хочу ибо они медленнее работают (ну или я так думаю). То есть, при необходимости передать данные с одного сервиса (сервера) на другой используется "socket.Send", сервисы принимают данные асинхронно.
4. Всё (в теории) должно работать в облаке Azure, где каждый сервис/сервер является отдельной VM или Worker-ролью.

В общем, если кто-то подскажет где в такой системе "узкие места" или как лучше всё изменить для более "продвинутой" архитектуры и главное масштабируемости буду очень благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2016, 19:03
Ответы с готовыми решениями:

Отправка запросов на игровой сервер
Злравствуйте уважаемые посетители форума . Я к вам пришел вот с такой проблемой . Есть некая игра...

Http-сервер: Как сделать чтоб этот сервер понимал файлы расширением .php и .aspx
Здравствуйте друзья Как сделать чтоб этот сервер понимал файлы расширением .php и .aspx?...

Сервер на сокетах: невозможно повторно запустить сервер
пишу сервер на сокетах, но надо не в консоли, а на Windows Forms, значит по кнопке у меня сервер...

Клиент-Сервер. Удалённый сервер
Всем здравствуйте. Я заинтересовался написать клиент-сервер приложение. Написал я отдельную...

1
1454 / 846 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
28.03.2016, 20:45 2
Цитата Сообщение от ZHSV Посмотреть сообщение
В общем, если кто-то подскажет где в такой системе "узкие места" или как лучше всё изменить для более "продвинутой" архитектуры и главное масштабируемости буду очень благодарен.
Блин! Описано вроде круто!
Цитата Сообщение от ZHSV Посмотреть сообщение
то есть получается некий прокси-сервер.
Такую штуку называют Load Balancer
1
28.03.2016, 20:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2016, 20:45
Помогаю со студенческими работами здесь

если на одном компе стоит сервер Оракла, на втором компе - Web сервер(IIS), то..
Всем привет! хотелось бы уточнить, если на одном компе стоит сервер Оракла, на втором компе - Web...

Можно ли написать игровой сервер
так незнаю в верный раздел обратился ли я, но поехали... И так есть игра TERA может кто то про...

Зависает сервер при создании приложения типа клиент/сервер
Зависает сервер при создании приложения типа клиент/сервер using System; using...

Клиент должен отправить файл на сервер. Сервер его обработать и отправить клиенту текст
Ребят подскажите как сделать: Клиент должен отправить файл на сервер. Сервер его обработать и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru