Задать вопрос
Yourmind
@Yourmind
пишу говнокод в перерывах между едой и сериалами

Сервер на python3?

Хочу написать сетевую игру шашки. Клиенты находятся на мобильных устройствах и шлют на сервер json-объект как представление нового построения поля игры с фигурами. Сервер хочу писать на python3. Думал использовать библиотеку request но не понял как там слушать то что присылает нам клиент. Но все мои копания в интернете привели меня к тому что request это все дела клиентские, а на сервере все придется делать через сокет? типа:

import socket
sock = socket.socket()
sock.bind(('', 9090))
sock.listen(1)
conn, addr = sock.accept()
while True:
    data = conn.recv(1024)
conn.close()


Никакого более высокоуровнего варианта общения сервера с клиентом нет?
  • Вопрос задан
  • 360 просмотров
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
dollar
@dollar
Делай добро и бросай его в воду.
Высокоуровневое решение - это сделать объект просто "сетевым", чтобы все его свойства тупо сихронизировались каждый фрейм. При этом нагрузка на сеть увеличивается, и у вас напрочь отбирают возможность оптимизации. Вам надо такое?

Ведь разработчики высокоуровневого решения не могут знать, что за игра, какие свойства нужно синхронизировать, а какие нет, и как часто.

Может быть, вы хотите передавать новые координаты фишки в двух случаях: 1) при изменении координат, но 1 раз в секунду 2) сразу же после того, как фишка поставлена. На втором клиенте движение сглаживается с учетом того, что траектория не особо важна. Это будет ваша оптимизация, и только ваша. Поэтому сокеты.
Ответ написан
Комментировать
tsarevfs
@tsarevfs
C++ developer
JSON API для получения данных и WebSocket для уведомлений о действиях других людей. Простые сокеты действительно потребуют слишком много работы для реализации надежного взаимодействия.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽