tornado websocket简单教程

websocket是非常好用的,可以解决很多web页面看似解决不了的问题,让web与app客户端更加相似

想要使用tornado上的websocket接口,需要搭建基础的tornado应用,

tornado十分好部署(下载地址)

$ wget https://github.com/downloads/facebook/tornado/tornado-2.4.1.tar.gz

几个命令安装就好了

$ tar -z -xv -f tornado-2.4.1.tar.gz $ cd tornado-2.4.1 $ python3 setup.py build $ sudo python3 setup.py install

安装好后会在目录下找到一个tornado的目录 进去找到demo文件夹中hello这个项目,这是个测试项目然后执行 $ python3 hello.py 

如果没有报错则安装成功,hello项目下template文件夹是html文件的目录

tornado的使用不在这里多做赘述,我们来看一下tornado继承的websocket类(websocket.WebSocketHandler)

继承了这个类以后需要重写这个类下面的三个函数

def open(self): 链接成功时触发 def on_message(self, message):发送数据时触发 def on_close(self):链接端关闭时触发

html的链接方式

var ws=new websocket("wss://........")

链接成功以后上面的三个函数分别对应,html的三个函数

ws.onpen=function(event){}

ws.onmessage=functing(event){}

ws.onclose=function(event){}

这样就好解释了,当你连接成功后,

html用ws.send()函数来发送数据

发送成功后触发open函数,open触发html的open,on_message触发ws.onmessage,on_close触发ws.onclose

python实例:

class Sendshow_simulation(websocket.WebSocketHandler):       def check_origin(self,origin): '''跨域修正'''             return True

      def open(self,uid):           '''open''' self.write_message("open successful") pass

      def on_message(self, message): '''on_message''' self.write_message("ok")       def on_close(self): '''on_close'''           pass

如此这般,就可以和html前台交互数据了

当然,还有很多,比如分用户推送,聊天室之类的功能,都跟普通socket功能差不多

当你要用tornado做服务器的时候,就涉及到跨域,和部署websocket服务器的问题

location /websock/ {     proxy_pass_header Server;     proxy_set_header Host $http_host;     proxy_redirect off;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Scheme $scheme;     proxy_set_header Upgrade $http_upgrade;     proxy_set_header Connection "upgrade";     proxy_pass http://192.168.0.86:8000; }

在nginx中部署wss的websocket方法,不同情况传不同参数







更多相关推荐

tornado 之WebSocket

实时获取消息概述Tornado的WebSocket模块qq群聊home.htmlindex.py

继续阅读

WebSocket - Tornado - Ping & P...

目录一、Tornado内置ping设置1-0ping帧1-1ping帧发送1-2Tornadosetting相关项1-3client&server...

继续阅读

tornado websocket 学习历程

听同事说了用websocket可以实现实时,工作之余研究下1.百度了下,websocket支持双向实时通信,...

继续阅读

tornado websocket编程(1) 初识w...

tornadowebsocket编程:初识websocket——简单购物车实完整代码:https://github.com/wskssau/my...

继续阅读

websocket 服务端(tornado)

tornado自己提供的websocket库以外,也可以自己构建websocket服务器!博客中有!

继续阅读

windows环境tornado搭建websocke...

项目结构websocketserver端代码在实际开发中用到了跨域,所以这里添加了跨域而且在tornado中如...

继续阅读

python tornado websocket_pytho...

一、主题:实时展示服务器端动态生成的日志文件二、流程:1.客户端浏览器与服务器建立websocke...

继续阅读

WebSocket - Tornado 的基本实现...

目录零、基本信息一、一对一长连接1-1server端1-2client端二、一对多长连接三、tornado内置定...

继续阅读

python tornado websocket_Pytho...

本篇文章给大家带来的内容是关于Python中Tornado下WebSocket客户端编程的介绍,有一定的参考价...

继续阅读