2015-06-13 2 views
1

Я следую этому руководству, чтобы попытаться использовать Flask-WebSockets в своем приложении.Как подключиться к серверу Flask-WebSocket?

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:[email protected]/my_db_name') 
DBSession = sessionmaker(bind=engine) 

import couponmonk.views 

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:

index.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 должен быть частью адреса или нет.

Благодарим за помощь.

ответ

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

Является ли JavaScript, так что придется идти в <script> теге где-то, вероятно, ваш head.

В учебнике прокрутите страницу до Клиент SocketIO - в этом разделе рассказывается о клиентской стороне websocket: JavaScript.

Мы также можем посмотреть на example's code on GitHub, чтобы увидеть that section. Наконец, documentation также имеет HTML во втором разделе кода.

Смежные вопросы