Flask-socketio ( http://flask-socketio.readthedocs.org/en/latest/ ) を使用しています。
私は現在
KeyError: '/local'
これを events.py で使用する場合。名前空間が異なることに注意してください。
@socketio.on('connect', namespace='/photo')
def client_connect():
emit('event', { 'type': 'client_connect' }, namespace='/local')
Flask-socketio を使用すると、イベントが発生した別の名前空間に出力できますか? ドキュメントはそう示唆しているようですが、KeyError が発生し続ける理由を理解できません。
編集:提案された回答に対して@Miguelに感謝します。(プロジェクトから長い間離れた後)再試行しましたが、以下のキーエラーが発生します:
@socketio.on('connect', namespace='/local')
def local_client_connect():
print ('Local client connected.')
@socketio.on('connect', namespace='/photo')
def client_connect():
print ('Client connected.')
send('client_connect', namespace='/local')
アプリを実行すると、「ローカル クライアントが接続されました」と表示されます。そうして初めて、クライアントが /photo ルートにアクセスできるようになります。「クライアントが接続されました」と表示され、もちろんキーエラーが表示されます。
フラスコソケットを 0.4.2 にアップグレードしました。
一番
アンドリュー