@kiddle

Как реализовать двустороннее соединение между Веб-клиентом и desktop app?

для себя начал реализовывать проект, суть проекта следующем: на свой пк устанавливаю софт и авторизуюсь в нем, в дальнейшем через любой браузер и любое устройство могу зайти и полазать по файловой системе моего пк, скачать что-то удалить или же загрузить.
В вопросе я не силен, поэтому делал как понимаю. На пк написал на питоне сервер с применением фрэйворка FastAPI, он принимает запросы и выполняет перечисленные выше операции. Веб-приложение пишу на laravel и вроде как все работает, со стороны клиента выполняю какое-то действие, отправляется http-запрос на десктоп-приложение и все хорошо. Но сейчас понимаю, что эта плохая реализация. Как минимум когда запускаю все сервера на пк и захожу с другого в той же локальной сети уже не могу обращаться по http к python серверу.

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

п.с. узнал про websocket, но с этой технологии нельзя передавать большие файлы. Так же в голове есть картина, что можно оставить мою реализацию если между веб и декстоп приложениями будет какой-то третий сервер, который будет сохранять адреса обеих сторон и соединять их, но как составить запрос и найти в интернете я не понял(

6464bf7fed600140595350.png
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Сделать такое можно тысячами разных способов. Не нужны никакие промежуточные звенья, да и Flask тоже выглядит лишним. Скрипт на ПК разумнее сделать клиентом, который подключается к вашему сайту и получает от него задания. Даже если ограничиться рамками протокола http, задания можно тупо периодически поллить, можно получать длинным поллингом, можно по sse или websocket. Естественно, для всех длительных соединений на сервере понадобится асинхронный обработчик. Понятия не имею, как такое в Laravel делается.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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