Я разрабатываю webapp для личного помощника. Пока пользователь подключен к сайту, я хочу, чтобы они могли подписаться на их личные уведомления, пока они в сети. Я ходил с этим socketio и опоки socketio, и я подумал, , что я мог бы просто использовать многопоточность, например, так: Частный чат с фляшкой-сокетоном
def update_loop():
while my_update_condition:
if my_update_exists:
socketio.emit("update", my_update)
@socketio.on("get_updates")
def get_updates(data):
'''Websocket thread for getting updates'''
socketio.emit("debug", {"value": "Starting update loop"})
update_thread = threading.Thread(target=update_loop)
update_thread.start()
Но мой код, используя эту стратегию дает любое обновление для всех пользователей в сети. Используя флешку socketio, как я могу безопасно реализовать частный чат? Данные в обновлениях не являются ультрачувствительными, но, поскольку это уведомления, которые пользователь устанавливает, это обычно личное. Благодарю. Примечание: В моем исследовании по этому вопросу я натолкнулся на что-то, используя socketid
, чтобы отправить сообщение только определенному отправителю, но я не смог найти пример реализации этого, используя flask-socketio.
Это то, что я закончил, но я не был уверен, был ли он безопасным. Не мог ли какой-либо неаутентифицированный пользователь подключиться к этой комнате? –
Клиенты не могут самостоятельно подключаться к каким-либо номерам, это сервер, который назначает клиентов в номера. – Miguel
О, вот что я не совсем понял, спасибо! –