シンプルなマルチブラウザ チャット Web アプリケーションを作成しようとしています。と思ったら作成終了。しかし、実行しようとすると、500ステータスが表示され、
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
なぜこれが起こっているのかよくわかりません。私はFlaskでこのプロジェクトを行っており、現在同時に学習しています。私は現在FlaskとFlask-socketioとwebsocketsを学んでいるためです。
おしゃべり.py:
from gevent import monkey
# Do all of the default monkey patching (calls every other function in this module.
monkey.patch_all()
from threading import Thread
from flask import Flask, render_template
from flask.ext.socketio import SocketIO, emit
from time import strftime
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret'
socketio = SocketIO(app)
thread = None
@app.route('/')
def index():
global thread
if thread is None:
#thread = Thread(target=background_thread)
thread.start()
return render_template('index.html')
# handle messages
@socketio.on('send message')
def handle_message(message):
#msg = strftime("%H:%M:%S") + ': ' + str(message)
emit('response',
{'data': strftime("%H:%M:%S") + ': ' + message['data']},
broadcast = True)
@socketio.on('connect')
def conn():
emit('response', {'data': 'Connected'})
if __name__ == '__main__':
socketio.run(app)
index.html:
<html>
<!-- jQuery and socket.io -->
<script type="text/javascript" src="https://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var socket = io.connect('https://' + document.domain + ':' + location.port);
socket.on('connect', function() {
socket.emit('', {data: 'I\'m connected!'});
});
socket.on('response', function(msg) {
$('#log').append(msg.data);
});
$('form#broadcast').submit(function() {
socket.emit('send message', { data: $('#msg').val()});
})
})
</script>
<form id="broadcast" method="POST">
<input type="text" name="message" id="msg" placeholder="Enter message here...">
<input type="submit" value="Send">
</form>
<h2>Chat</h2>
<div id="log"></div>
</html>