Как сделать бэкенд на C# с нуля?

Всем привет!

В качестве хобби пишу небольшие игры и тулзы в Юнити на C#.

Очень хочется начать делать простенький локальный(не облако) бэкенд по возможности без изучения новых инструментов.
Насколько я понимаю, мне нужно установить СУБД и написать приложение на C#, которое служило бы "прослойкой" между БД и моими клиентскими приложениями, так?

Подскажите, пожалуйста, как это проще всего сделать: какую БД выбрать, с какого края вообще подступиться: как перенаправлять запросы туда-обратно, работать с сокетами, вот это всё.

В идеале очень хотелось бы гайды/уроки, можно на английском.

Благодарю.
  • Вопрос задан
  • 13733 просмотра
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
  1. Изучить сетевой стек — сетевая модель OSI. Не обязательно глубоко — но базовые вещи вроде уровней, протоколов надо знать.
  2. Изучить что такое сокеты и как они работают:
    1. реализовать чтение данных из сокета
    2. запись данных в сокет
    3. затем реализовать сокет-сервер и сокет клиент
    4. организовать передачу данных между ними
    5. сделать прием/передачу данных из/в сокета/сокет блокирующую и неблокирующую и понять разницу между ними
    6. реализовать на сервере поддержку коннекта нескольких клиентов
    7. реализовать группу потоков и очереди для чтения/записи в сокеты

  3. Изучить веб-сокеты
  4. Выбрать любую БД, подходящую под ваши критерии (схема данных, нагрузка, логика работы приложения и т.п.) — можно взять любую популярную MySQL, PosgreSQL, Mongo и т.п.
  5. Найти библиотеку для работы БД и пройти туториалы по ней
  6. Подключить библиотеку для работы с БД к сокет/веб-сокет серверу
  7. Реализовать сетевое API вашего сервера (логин клиентом, прием/передача данных и прочее)
  8. Реализовать клиентскую обертку для работы с API сервера
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
GavriKos
@GavriKos
Ну так раз у вас C# - то и юзайте ASP.NET/ASP.Core, и бд соответствующую этому стеку.
Пойдет легко и просто, в целом. Поищите примеры какого нить REST на ASP
Ответ написан
Комментировать
Хороший туториал есть на metanit по asp.net mvc/core. А если нет проблем с английским, то попробуйте курсы на pluralsight, там можно сделать 3 месяца бесплатной подписки.
Ответ написан
Комментировать
@mefutu
Быстрый и удобный http(s) сервер это nancyfx, есть возможность запуска Self host. Можно запускать вместе с owin, asp.net. https://github.com/NancyFx
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы