关于Flask-socketio和socketIO_client的使用问题。,,软件的目的是使用sock
关于Flask-socketio和socketIO_client的使用问题。,,软件的目的是使用sock
软件的目的是使用socketio 让多个程序进行通话。
以下是服务端的代码,使用的是Flask-socketio
#codeing=utf-8from flask import Flask, render_templatefrom flask.ext.socketio import SocketIOapp = Flask(__name__)app.config['SECRET_KEY'] = 'secret!'socketio = SocketIO(app)@socketio.on('message',namespace='/msg')def on_connect(message): emit('my response', {'data': 'Connected'+message})if __name__ == '__main__': socketio.run(app)
启动服务器的命令如下:
gunicorn --worker-class socketio.sgunicorn.GeventSocketIOWorker app:app --bind=0.0.0.0:5001
下面是客户端的代码,使用了socketIO_client.
from socketIO_client import SocketIO, BaseNamespacedef on_response(*args): print('on_response', args)socket = SocketIO('bt.gg',5001)chat = socket.define(BaseNamespace, '/msg')chat.emit('message')chat.on('my response', on_response)
在运行过程中,发现服务端一直在提示错误。
Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/gevent/pywsgi.py", line 508, in handle_one_response self.run_application() File "/usr/local/lib/python2.7/dist-packages/gevent/pywsgi.py", line 494, in run_application self.result = self.application(self.environ, self.start_response) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "/usr/local/lib/python2.7/dist-packages/flask_socketio/__init__.py", line 27, in __call__ raise RuntimeError('You need to use a gevent-socketio server.')RuntimeError: You need to use a gevent-socketio server.{'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'bt.gg:8800', 'HTTP_USER_AGENT': 'python-requests/2.7.0 CPython/2.7.10 Windows/8', 'PATH_INFO': '/socket.io/', 'QUERY_STRING': 'transport=polling&EIO=3&t=1441511864251-0', 'RAW_URI': '/socket.io/?transport=polling&EIO=3&t=1441511864251-0', 'REMOTE_ADDR': '180.175.170.224', 'REMOTE_PORT': '61238', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': '', 'SERVER_NAME': 'server', 'SERVER_PORT': '8800', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'gevent/1.0 Python/2.7', 'gunicorn.sock': <socket at 0x7feeba8abe90 fileno=12 sock=103.242.133.124:8800 peer=180.175.170.224:61238>, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7feebe56a1e0>, 'wsgi.input': <gevent.pywsgi.Input object at 0x7feeba84f990>, 'wsgi.multiprocess': False, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)} failed with RuntimeError
求各位朋友看一下,我写的代码问题出在哪?
编橙之家文章,
相关内容
- Mac OS X 10.11下如何安装MySQLdb?,10.11mysqldb,安装完后:Pyt
- Python的语法确实牛,但是性能会怎么样呢,python语法性
- Python 虚拟环境使用pip报错,pythonpip,我用virtualenv
- python如何读取xml标签的多个的属性值,pythonxml,warning:这
- [python] 进程间同步操作的设计,python进程,希望大家能稍
- python 爬虫爬取代理验证验证代理的速度?一直不能爬取
- 正则匹配重复字符串中某一段内容,字符串段内容,有这
- 推荐一个小的Python的Web开源项目,PythonWeb开源项目,推荐
- python爬虫如何与django结合,实现定时爬取信息与展示?
- Python调用Rust编译的共享库出现错误,pythonrust,Rust Code
评论关闭