2017-11-02 6 views
0

브라우저의 반응 응용 프로그램에 연결하는 flask-socketio 서버를 실행하려고합니다.python Flask socketio 404/400 from browser

파이썬 서버 코드 (관련 부분) :

from flask import Flask, request, jsonify 
from flask_socketio import SocketIO 

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

@socketio.on('message') 
def handle_message(message): 
    print('received message: ' + message) 

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

클라이언트 JS가 (브라우저에서 실행) :

failed: Error during WebSocket handshake: Unexpected response code: 404 

: 나는 브라우저에서 다음과 같은 오류가

var ws = new WebSocket("ws://127.0.0.1:5000"); 
console.log('connecting to log ws') 
ws.onopen = function (event) { 
    console.log('connection opened') 
}; 
ws.onmessage = function (event) { 
    console.log(event.data); 
    self.recieve(event.data); 
} 

지금 나는 나가 나가 사용하는 URL에있는 실수를했기 때문에 이것이 수시다는 것을 들었다. 그러나, 나는이 변경 될 때

var ws = new WebSocket("ws://127.0.0.1:5000");

var ws = new WebSocket("wss://127.0.0.1:5000");

나는 서버가 연결 요청을 얻을 수 있음을 알 수 있지만, 서버 측에서 다음과 같은 오류를 반환

127.0.0.1 - - [02/Nov/2017 13:07:59] code 400, message Bad HTTP/0.9 request 
type ('\x16\x03\x01\x00t\x01\x00\x00p\x03\x01Y\xfb{\x1f\x0 
5\x8d\xbf|\xdb\xeb\x12\xe8\xf6\xb0\xf9') 

여기에 성공적인 연결을하려면 어떻게해야합니까? 여기에서 사용 된 브라우저는 크롬이지만, 다른 사람들도 어려움을 겪고 있습니다.

답변

0

나는 대답을 알아 냈다. 브라우저에서 flask-socketio와 통신하기 위해 WebSocket을 사용할 수는 없지만 대신 클라이언트 측에서 일반적인 socket.io를 사용하여 서버와 통신해야했습니다. 전환 이후로, 나는 클라이언트와 서버 사이의 완벽한 통신을 얻고있다.

관련 문제