服务端代码
.......
class WebSocketHandler(tornado.websocket.WebSocketHandler):
def open(self):
self.write_message('x')
.......
客户端 为一段js
var wsUpdater = {
socket: null,
start: function(){
if ("WebSocket" in window) {
wsUpdater.socket = new WebSocket("ws://xx/websocket");
}
else {
wsUpdater.socket = new MozWebSocket("ws://xx/websocket");
}
wsUpdater.socket.onmessage = function(event) {
document.write(event.data)
};
}
};
wsUpdater.start();
场景是在任意网站加载这段js代码,
显示430
Cross origin websockets not allowed
我百度的资料上说websocket 可以跨域啊。为什么会这样? 如何解决呢?还望指点一二
Tornado 4.0
可以重写check_origin
方法或者指定允许的域名
tornado 3.0
没有提供类似的方法,可以重写header
文档 check_origin