как связать базу данных используя uLink MMO с RPC - PullRequest
0 голосов
/ 14 декабря 2011

Я новичок в Unity и uLink MMO.

Я занимаюсь разработкой 3D-игры. В этом проекте мне нужно подключить базу данных MySQL. Я сделал подключение к базе данных, используя следующий метод. 1. Сделан веб-сервис на C # .net. Это возвращает мне данные в формате Json. Строка подключения к базе данных находится в веб-сервисе. 2. Прочитайте вывод Json, используя файл Unity C #.

Теперь я хочу подключить базу данных, используя uLink + RPC. Есть ли способ подключения базы данных с помощью RPC (без веб-сервиса и uGameDB).

Скажите, пожалуйста, пошаговый или полный сценарий подключения базы данных с помощью uLink + RPC.

Заранее спасибо.

С уважением Бхарат

1 Ответ

1 голос
/ 14 декабря 2011

Все коммуникации базы данных с MySQL должны быть сделаны асинхронно, иначе ваш игровой сервер остановится, пока не получит ответ и число кадров в секунду (FPS) сервера будет падать до нуля, пока база данных не даст ответ.

Как вы делаете это асинхронным, зависит от вас. Просто убедитесь, что основной поток сервера Unity не останавливается, пока база данных ожидает ответа.

Пока вы придерживаетесь MySQL, вы можете попробовать одно из этих решений.

  1. Используйте асинхронный API для mysql. Используйте MySQL, Connector / Net. Асинхронный API описан здесь: http://mysql -connector-net.sourcearchive.com / документация / 6.1.2-1 / classMySql_1_1Data_1_1MySqlClient_1_1MySqlCommand.html

  2. Запуск одного или нескольких потоков для обработки связи с mysql. Таким образом, вы можете использовать несколько параллельных «нормальных» подключений к MySQL без остановки основного потока в Unity. Сложная часть заключается в реализации обратных вызовов при получении ответа из базы данных.

Ни один из этих способов не обходится без проблем.

Мы (Muchdifferent, создатели uLink) могли бы опубликовать некоторые примеры того, как сделать решение № 1 в будущем, но в данный момент мы сосредоточены на выпуске uGameDB.

/ David

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...