Сохранить данные компьютера сделавшего запрос на сервер Flask и через некоторое время обратиться к нему с сервера
Есть сервер на Flask, на него приходит запрос, и из этого запроса мне нужно получить данные клиента, чтобы потом по ним обратиться к клиенту. Это должно быть не в качестве ответа в POST-запрос, а в виде рассылки. Например: к серверу приходят запросы с клиентов, сервер запоминает их ip (или что-то вроде того) и потом сам обращается к ним. И клиент и сервер пишу я, могу менять с обоих сторон код.
Сервер на Flask, клиент использует requests.
На всякий случай, вот пример:
Сервер:
import flask, os, json
from flask import app, request
app = flask.Flask(__name__)
class Server():
def __init__(self):
self.clients = {}
def add_User(self, id, IP):
self.clients[id] = IP # Здесь нужно что-то, благодаря чему я смогу обратиться к клиенту
return {'code': 200, 'error': ''}
def post_tu_clients(self):
for i in self.clients.keys():
continue # Рассылка клиентам
serv = Server()
@app.route('/add', methods=['POST'])
def addUser():
data = request.get_json()
if type(data) == str:
data = json.loads(data)
resp = serv.add_User(data['id'], IP)
return json.dumps(resp)
if __name__ == '__main__':
port = int(os.environ.get("PORT", 5050))
app.run(host='0.0.0.0', port=port)
Клиент
import json
from const import *
from requests import Session
from Entitys.Player import Player
class API:
def __init__(self):
self.session = Session()
def in_server_init(self, player: Player):
data = {
'id': player.id,
}
resp = self.session.post(url=URL + '/add', json=json.dumps(data)).json()
if resp['code'] != 200:
print('Что то не так в addUser', resp['error'])
return