1

我正在按照本教程尝试并Flask-WebSockets在我的应用程序中使用。

http://blog.miguelgrinberg.com/post/easy-websockets-with-flask-and-gevent

我的问题是我不知道如何正确连接到服务器。

当我调用我的烧瓶应用程序时,它们的形式为:

http://localhost:80/myapp/<route_goes_here>

我的应用程序结构如下:

couponmonk/venv/couponmonk
    __init__.py
    views.py
    templates/
        index.html

__init__.py

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy.orm import sessionmaker
from sqlalchemy import *
from flask.ext.socketio import SocketIO, emit       

app = Flask(__name__)    
socketio = SocketIO(app)                                                                                                                             
engine =  create_engine('mysql://root:my_password@localhost/my_db_name') 
DBSession = sessionmaker(bind=engine)

import couponmonk.views

视图.py

from couponmonk import app, DBSession, socketio

@socketio.on('my event', namespace='/test')
def test_message(message):
    emit('my response', {'data': message['data']})


@app.route('/', methods = ['GET'])
def index():
    return render_template('index.html')

鉴于我的设置,我应该把这条线放在哪里:

if __name__ == '__main__':
    socketio.run(app)

我也不确定在以下行中放置什么地址index.html

索引.html

此文件中的代码与此相同(https://github.com/miguelgrinberg/Flask-SocketIO/blob/master/example/templates/index.html

var socket = io.connect('what to put here?');

我试过了http://localhost:80/test,没有得到任何回应。我不确定是否namespace应该是地址的一部分。

谢谢你的帮助。

4

1 回答 1

0
var socket = io.connect('what to put here?');

是 JavaScript,所以这需要在<script>某个地方的标签中,可能是你的head.

在教程中,滚动到A SocketIO Client - 本节开始讨论 websocket 的客户端:JavaScript。

我们还可以查看GitHub 上的示例代码以查看该部分。最后,文档的第二个代码部分也有 HTML。

于 2015-06-13T05:17:11.723 回答