В качестве хобби пишу небольшие игры и тулзы в Юнити на C#.
Очень хочется начать делать простенький локальный(не облако) бэкенд по возможности без изучения новых инструментов.
Насколько я понимаю, мне нужно установить СУБД и написать приложение на C#, которое служило бы "прослойкой" между БД и моими клиентскими приложениями, так?
Подскажите, пожалуйста, как это проще всего сделать: какую БД выбрать, с какого края вообще подступиться: как перенаправлять запросы туда-обратно, работать с сокетами, вот это всё.
В идеале очень хотелось бы гайды/уроки, можно на английском.
xmoonlight, извините, нельзя, я стесняюсь.
Я не программист, просто мне нравится сам процесс, расслабляет.
Ну и иногда бывает полезно, например в последний раз писал парсер, который мне огромный JSON c кучей параметров персонажа (из одной онлайн игры экспортируется) раскладывал в красивую таблицу и подсвечивал места, на которые стоит обратить внимание.
Я не программист, просто мне нравится сам процесс, расслабляет.
в последний раз писал парсер, который мне огромный JSON c кучей параметров персонажа (из одной онлайн игры экспортируется) раскладывал в красивую таблицу и подсвечивал места, на которые стоит обратить внимание.
Да я сразу так и понял, что "не программист" )))
Я вообще с Юнити не работаю, только для расслабления как раз (больше - я по бэкенду специализируюсь)...
Так что... вряд ли я могу быть чем-то лучше Вас в Юнити...
Просто ищу того, кто изучает Юнити САМ и что-то умеет при этом делать нормально!
Если передумаете - шлите линк на почту...
Изучить сетевой стек — сетевая модель OSI. Не обязательно глубоко — но базовые вещи вроде уровней, протоколов надо знать.
Изучить что такое сокеты и как они работают:
реализовать чтение данных из сокета
запись данных в сокет
затем реализовать сокет-сервер и сокет клиент
организовать передачу данных между ними
сделать прием/передачу данных из/в сокета/сокет блокирующую и неблокирующую и понять разницу между ними
реализовать на сервере поддержку коннекта нескольких клиентов
реализовать группу потоков и очереди для чтения/записи в сокеты
Изучить веб-сокеты
Выбрать любую БД, подходящую под ваши критерии (схема данных, нагрузка, логика работы приложения и т.п.) — можно взять любую популярную MySQL, PosgreSQL, Mongo и т.п.
Найти библиотеку для работы БД и пройти туториалы по ней
Подключить библиотеку для работы с БД к сокет/веб-сокет серверу
Реализовать сетевое API вашего сервера (логин клиентом, прием/передача данных и прочее)
Реализовать клиентскую обертку для работы с API сервера
Ну так раз у вас C# - то и юзайте ASP.NET/ASP.Core, и бд соответствующую этому стеку.
Пойдет легко и просто, в целом. Поищите примеры какого нить REST на ASP
Хороший туториал есть на metanit по asp.net mvc/core. А если нет проблем с английским, то попробуйте курсы на pluralsight, там можно сделать 3 месяца бесплатной подписки.