vo0ov
@vo0ov
Кодер на python

Как связать python flask сервер и код на C#?

Мне нужно написать код на C# который может установить соединение с flask сервером на python и "общаться" с ним. Это должно быть примерно так:
1. Клиентское ПО на C# подключается к серверу и запускает сессию (не просто get запрос)
2. Сервер видит подключение и пишет в консоль "Новая сессия с {ip}"
3. Проходит некоторое время (оно не должно быть ограничено)
4. Сервер вызывает функцию call(). Пример использования: call(ip, "message") --> функция посылает запрос на сессию подключённого клиента по ip. В коде на C# вызывается функция getcall() которая получает аргумент "message".
5. Идёт выполнение действий в getcall (время не должно быть ограничено)
6. После выполнения действий ПО отправляет ответ результата действий из string result. Python сервер получает ответ и вызывает функцию getanswer(str result) с аргументом result полученным от клиента.
7. Запросов может быть много и даже несколько за один промежуток времени.
8. А когда клиент отключается в консоль python сервера выводится "{ip} отключился"

Желательно использовать flask (Сервер Python) и System.Net (ПО на C#)
Соответственно должно получится 2 файла - "main.py" и "Programm.cs"
  • Вопрос задан
  • 230 просмотров
Решения вопроса 2
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
Здесь подойдет любой RPC фреймворк. В частности, рекомендую gRPC - довольно популярный и для твоего случая подходит хорошо:
- Есть кодогенерация и для C# и для питона
- Описание API не зависит от яп
- Большое коммьюнити

P.S. здесь подойдут и HTTP запросы. То что нужно долго ждать - ничего, подождет.
GET запрос не обязательно должен выполняться моментально.
Ответ написан
Комментировать
tentrun
@tentrun
Fullstack (asp.net /react, vue, angular) deletant
Как и сказали, под ваш запрос отлично подходит grpc.
Или же есть хороший вариант присмотреться в стороны signalR.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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