Python Event-Stream с данными NF C - PullRequest
       28

Python Event-Stream с данными NF C

0 голосов
/ 08 февраля 2020

Я совершенно новичок в python, и я не понимаю поведение следующего кода:

import nfc, time
from nfc.clf import RemoteTarget

@auth.route('/api/stream')
def stream():
    def eventStream():
        clf = nfc.ContactlessFrontend('usb')
        while True:
            tag = readNFC(clf)
            #tag = 123
            if tag is not None:
                yield 'data: {}\n\n'.format(str(tag))
            else:
                yield 'data: {}\n\n'.format('NO TAG')
        clf.close()
    return Response(eventStream(), mimetype="text/event-stream")

def readNFC(clf):
    tag_id = None
    target = clf.sense(RemoteTarget('106A'))
    if target is not None:
        tag_id = nfc.tag.activate(clf, target)
    print(tag_id)
    return tag_id

Если я позвоню readNF C, то я не получу сообщение по адресу клиент. Только когда я останавливаю WSGI-сервер, все сообщения отображаются в консоли JS. Если я устанавливаю тег вручную, я получаю сообщения «вживую».

Может кто-нибудь объяснить, почему это происходит? Моя цель - отправить тег NCF клиенту, как только он появится в считывателе.

Спасибо :))

...