3 / 3 / 1
Регистрация: 10.09.2014
Сообщений: 36
|
|
1 | |
Игровой сервер28.03.2016, 19:03. Показов 1483. Ответов 1
Метки нет (Все метки)
Здравствуйте. Пишу игру (стратегию (пошаговая/глобальная/RTS)) под Android, которая должна работать в онлайн режиме. Делаю я ее пока-что как хобби (и для дипломного проекта).
Так вот уже кое-что сделано на стороне сервера, но у меня возникают сомнения, насколько это правильные решения: 1. Есть один главный сервер, к которому подключаются все клиенты по tcp-протоколу, его основная задача - "оградить" внутреннюю структуру сервера (остальные сервисы и сервера) от игроков, как он работает: получает соединение, сохраняет его, и при получении данных от клиента отправляет их на один из сервисов обработки сообщений (отдельный "внутренний сервер"), на какой именно: он выбирает в зависимости от загруженности, то есть получается некий прокси-сервер. 2. Сервер обработки сообщений получает данные и бросает их в один из потоков (в каждом из которых имеется очередь для обработки), когда очередь дошла доходит до пакета данных, данные обрабатываются и отправляются на главный сервер, который их переправляет нужному клиенту. 3. Каждое подключение (сокет) в главном сервере также состоит в похожем потоке (как в пункте №2). 3. Для взаимодействия между сервисами используются обычные сокеты (протокол: tcp). WCF (или RPC) использовать не хочу ибо они медленнее работают (ну или я так думаю). То есть, при необходимости передать данные с одного сервиса (сервера) на другой используется "socket.Send", сервисы принимают данные асинхронно. 4. Всё (в теории) должно работать в облаке Azure, где каждый сервис/сервер является отдельной VM или Worker-ролью. В общем, если кто-то подскажет где в такой системе "узкие места" или как лучше всё изменить для более "продвинутой" архитектуры и главное масштабируемости буду очень благодарен.
0
|
28.03.2016, 19:03 | |
Ответы с готовыми решениями:
1
Отправка запросов на игровой сервер Http-сервер: Как сделать чтоб этот сервер понимал файлы расширением .php и .aspx Сервер на сокетах: невозможно повторно запустить сервер Клиент-Сервер. Удалённый сервер |
1454 / 846 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
|
28.03.2016, 20:45 | 2 |
1
|
28.03.2016, 20:45 | |
28.03.2016, 20:45 | |
Помогаю со студенческими работами здесь
2
если на одном компе стоит сервер Оракла, на втором компе - Web сервер(IIS), то.. Можно ли написать игровой сервер Зависает сервер при создании приложения типа клиент/сервер Клиент должен отправить файл на сервер. Сервер его обработать и отправить клиенту текст Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |