我使用python websocket-client向客户端发送消息。
在客户端,我有:
var s = new WebSocket('http://' + location.host + ':8000/ws');
s.onopen = function(e) {
$("#connected3").html('open');
console.log(e)
}
s.onclose = function(e) {
$("#connected").html('close')
}
s.onmessage = function(e) {
$("#connected2").html(e.data);
}
在服务器端我有:
import websocket
ws = websocket.WebSocket()
ws = create_connection("ws://127.0.0.1:8000/ws", sslopt= {"check_hostname": False})
我收到此错误: 握手状态404
我的猜测是,网络套接字服务器存在问题: WS://127.0.0.1:8000 / WS
我在设置网络套接字时是否遗漏了什么?
答案 0 :(得分:0)
您正在后端创建一个websocket客户端。您必须创建一个websocket服务器并连接到您的JavaScript代码。
ip install git+https://github.com/dpallot/simple-websocket-server.git
并连接到它。
from SimpleWebSocketServer import SimpleWebSocketServer, WebSocket
class SimpleEcho(WebSocket):
def handleMessage(self):
# echo message back to client
self.sendMessage(self.data)
def handleConnected(self):
print(self.address, 'connected')
def handleClose(self):
print(self.address, 'closed')
server = SimpleWebSocketServer('', 8000, SimpleEcho)
server.serveforever()
答案 1 :(得分:0)
如果您使用Flask-Sockets扩展,您可以直接在扩展中使用gunicorn的websocket实现,从而可以从以下命令行开始
gunicorn -k flask_sockets.worker --bind 0.0.0.0:8000 app:app