tornado websocket简单教程
2017-05-05 17:33
267 查看
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.onclosepython实例: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十分好部署(下载地址)$ 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.onclosepython实例: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方法,不同情况传不同参数
相关文章推荐
- 在Python的Tornado框架中实现简单的在线代理的教程
- Tornado 简单入门教程(二)——Demo2
- [tornado]websocket 最简单demo
- WebSocket入门教程(二)-- WebSocket简单的API介绍
- tornado websocket 学习demo:简单聊天室
- 在Python的Tornado框架中实现简单的在线代理的教程
- tornado websocket编程 (2): 简单购物车改进
- python教程30--《tornado实现websocket聊天室通讯》
- 用tornado实现一个简单的websocket样例
- [tornado]websocket 最简单demo
- WebSocket入门教程(五)-- WebSocket实例:简单多人聊天室
- WML教程2:简单介绍关于WML文件的概念WML Decks
- CVS 简单教程
- serv-u溢出简单教程
- Macriomedia Flex入门教程第二部分――创建一个简单的计算器
- SQLite简单教程
- 简单的VC基础教程
- CSS教程(八) 简单介绍CSS结合JS的运用
- ASP数据库简单操作教程
- CVS 简单教程