安装tornado pip install tornado

安装sqlalchemy

1.大概代码的解释

  1. import tornado.ioloop #开启循环,等待访问
  2. import tornado.web
  3.  
  4. class MainHandler(tornado.web.RequestHandler):
  5. def get(self):
  6. self.write("hello world") # write 输出到浏览器 先写入缓冲(flush)在一起写入浏览器
  7.  
  8. # 虚拟机通过application 匹配到url的'/',则执行MainHandler方法
  9. application = tornado.web.Application([
  10. (r"/",MainHandler)
  11. ])
  12.  
  13. if __name__ == '__main__': #直接运行 类名=main, 导入 类名=本身模块名
  14. application.listen(8000) # 监听8000端口
  15. tornado.ioloop.IOLoop.instance().start() #tornado一直待机,收到请求启动服务(阻塞)
  16.  
  17. # 1.端口转发8000
  18. # 2.启动py文件 tornado服务 linux下测试成功否 curl http://127.0.0.1:8000/
  19. # 3. 通过浏览器浏览127.0.0.1:8000

2.运行过程解析

  1. import tornado.ioloop
  2. import tornado.web
  3.  
  4. class MainHandler(tornado.web.RequestHandler):
  5. def get(self):
  6. self.write("hello world")
  7. class AHandler(tornado.web.RequestHandler):
  8. def get(self):
  9. self.write("hello world A")
  10.  
  11. # 路由表 匹配路径执行对应路径中的事件
  12. application = tornado.web.Application([
  13. (r"/",MainHandler),
  14. (r'/a',AHandler)
  15. ])
  16.  
  17. if __name__ == '__main__':
  18. application.listen(8000)
  19. tornado.ioloop.IOLoop.instance().start()
  20.  
  21. # ** 客户端访问服务器 可以看成客服端读取服务器的资源,路由就是确定访问的资源路径
  22.  
  23. # 通过虚拟机启动tornado服务(进行监听) 测试: curl http://127.0.0.1/a
  24. # 通过浏览器启动 http://127.0.0.1/a ,tornado 监听到http://127.0.0.1/a,再执行AHandler

****

路由:

  ** 客户端访问服务器 可以看成客服端读取服务器的资源,路由就是确定访问的资源路径

  1.   路由表 匹配路径执行对应的事件

Handler:

  先简单看成 确定路由后,执行相对的事件

  1.  

tornado-简单的服务器的更多相关文章

  1. tornado的http服务器实现

    使用tornado实现的一个简单http服务器:只需要定义自己的处理方法,其他的东西全部交给tornado完成. #coding:utf-8 import tornado.httpserver imp ...

  2. C#中使用Socket实现简单Web服务器

    上一篇博客中介绍了怎样使用socket访问web服务器.关键有两个: 熟悉Socket编程: 熟悉HTTP协议. 上一篇主要是通过socket来模拟浏览器向(任何)Web服务器发送(HTTP)请求,重 ...

  3. 用nodejs搭建一个简单的服务器

    使用nodejs搭建一个简单的服务器 nodejs优点:性能高(读写文件) 数据操作能力强 官网:www.nodejs.org 验证是否安装成功:cmd命令行中输入node -v 如果显示版本号表示安 ...

  4. 初学Node(六)搭建一个简单的服务器

    搭建一个简单的服务器 通过下面的代码可以搭建一个简单的服务器: var http = require("http"); http.createServer(function(req ...

  5. 搭建无限制权限的简单git服务器使用git-daemon脚本

    如果想要用ubantu架设无限制权限(即不适用gitosis)的简单git服务器,实现git库下载clone,push等简单的基本功能, 可以直接使用git-daemon脚本(非常不安全,建议项目代码 ...

  6. 运用socket实现简单的服务器客户端交互

    Socket解释: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意 ...

  7. Ubuntu 14.04搭建简单git服务器

    /****************************************************************************** * Ubuntu 14.04搭建简单gi ...

  8. tomcat解析之简单web服务器(图)

    链接地址:http://gogole.iteye.com/blog/587163 之前有javaeyer推荐了一本书<how tomcat works>,今天晚上看了看,确实不错,第一眼就 ...

  9. Linux 下 简单客户端服务器通讯模型(TCP)

    原文:Linux 下 简单客户端服务器通讯模型(TCP) 服务器端:server.c #include<stdio.h> #include<stdlib.h> #include ...

  10. 轻松创建nodejs服务器(1):一个简单nodejs服务器例子

    这篇文章主要介绍了一个简单nodejs服务器例子,本文实现了一个简单的hello world例子,并展示如何运行这个服务器,需要的朋友可以参考下   我们先来实现一个简单的例子,hello world ...

随机推荐

  1. opencv数据类型和格式的坑

    //cv::Mat uvp = cv::Mat::zeros(2, probp.size(), CV_8UC1); cv::Mat uvp = cv::Mat::zeros(2, probp.size ...

  2. QT-This application failed to start because it could not find or load the Qt platform plugin "windows"

    前言 将qt的vs工程生成Release版本,不过出现错误,现将可以解决该问题的方法记录下来. 项目环境 系统:win7_64 软件:VS2013.QT5.6.2.qt-vs-addin-1.2.5 ...

  3. FSTConfiguration 高性能序列化框架FST

    转自:https://blog.csdn.net/z69183787/article/details/53005961 fst是完全兼容JDK序列化协议的系列化框架,序列化速度大概是JDK的4-10倍 ...

  4. jquery中的 .parent()

    ☆ 遍历 - .parent() 方法: 查找每个段落的带有 "selected" 类的父元素: <body> <ul class="level-1&q ...

  5. HDU2476 String painter

    题意 String painter Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  6. stenciljs 学习五 事件

    组件可以使用Event Emitter装饰器发送数据和事件. Event 定义 参考: import { Event, EventEmitter } from '@stencil/core'; ... ...

  7. 树莓派上搭建NAS

    首先可以参考看看  搭建家庭 NAS 服务器有什么好方案?下载做NAS的系统也比较多,如FreeNAS.Openfiler等免费系统,或购买其它收费NAS系统.根据自己的需要从硬件到软件的搭建过程.参 ...

  8. sql 关键字解析

    sql 关键字解析 关键字 解析 union 注意:每个 SELECT 语句,必须列的数量.顺序相同,列的数据类型相似.即:1. UNION 内部的每个 SELECT 语句必须拥有相同数量的列:2. ...

  9. JUC集合之 LinkedBlockingDeque

    LinkedBlockingDeque介绍 LinkedBlockingDeque是双向链表实现的双向并发阻塞队列.该阻塞队列同时支持FIFO和FILO两种操作方式,即可以从队列的头和尾同时操作(插入 ...

  10. 【jmeter】Jmeter进行分布式性能测试

    由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误.要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 ...