2017-09-09 20 views
1

私はFlask RestfulとFlask SocketIOを同時に使用しようとしています。私はすでにFlask Restfulアプリケーションを作っていますが、現在はFlask SocketIOを使用してクライアントとサーバー間のリアルタイム通信を行いたいと考えています。Flask RestfulとFlask SocketIOサーバーを一緒に実行

from flask import Flask 
from flask_restful import Api 
from flask_socketio import SocketIO 

app = Flask(__name__) 
api = Api(app) 
socketio = SocketIO() 

if __name__ == '__main__': 
    socketio.run(app, port=5000, host='0.0.0.0') 
    app.run(port=5000, host='0.0.0.0') 

私はこれを実行したら、私はフラスコでコーディングで初心者だ

Traceback (most recent call last): 
    File "app.py", line 10, in <module> 
    socketio.run(app, port=5000, host='0.0.0.0') 
    File "C:\Python27\lib\site-packages\flask_socketio\__init__.py", line 475, in run 
    if self.server.eio.async_mode == 'threading': 
AttributeError: 'NoneType' object has no attribute 'eio' 

を取得します。あなたが私を助けてくれることを願って。ありがとう。

答えて

0

の創設者です。あなたは、あなたの質問に貼り付け

app = Flask(__name__) 
api = Api(app) 
socketio = SocketIO(app) 

if __name__ == '__main__': 
    socketio.run(app, port=5000, host='0.0.0.0') 

コードがAttributeErrorを引き起こしていたバグを持っていた、そしてそれはあなたがSocketIOコンストラクタにappインスタンスを渡していなかったということでした:あなたが行うことができます。

0

私は、リアルタイムの機能性のために外部プロバイダを使用することを検討するべきだと思います。 PushRadar(https://www.pushradar.com/docs/latest/python)のPythonライブラリを調べてください。有料サービスですが、WebSocketサーバーを実行する必要性を排除し、ユーザーターゲティングなどの便利な機能を提供します。

免責事項:私はPushRadar

フラスコ-のRestfulはあなたのサーバを起動する方法に関しては何も変わりません
関連する問題