tornado-简单的服务器
安装tornado pip install tornado
安装sqlalchemy
1.大概代码的解释
import tornado.ioloop #开启循环,等待访问
import tornado.web class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("hello world") # write 输出到浏览器 先写入缓冲(flush)在一起写入浏览器 # 虚拟机通过application 匹配到url的'/',则执行MainHandler方法
application = tornado.web.Application([
(r"/",MainHandler)
]) if __name__ == '__main__': #直接运行 类名=main, 导入 类名=本身模块名
application.listen(8000) # 监听8000端口
tornado.ioloop.IOLoop.instance().start() #tornado一直待机,收到请求启动服务(阻塞) # 1.端口转发8000
# 2.启动py文件 tornado服务 linux下测试成功否 curl http://127.0.0.1:8000/
# 3. 通过浏览器浏览127.0.0.1:8000
2.运行过程解析
import tornado.ioloop
import tornado.web class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("hello world")
class AHandler(tornado.web.RequestHandler):
def get(self):
self.write("hello world A") # 路由表 匹配路径执行对应路径中的事件
application = tornado.web.Application([
(r"/",MainHandler),
(r'/a',AHandler)
]) if __name__ == '__main__':
application.listen(8000)
tornado.ioloop.IOLoop.instance().start() # ** 客户端访问服务器 可以看成客服端读取服务器的资源,路由就是确定访问的资源路径 # 通过虚拟机启动tornado服务(进行监听) 测试: curl http://127.0.0.1/a
# 通过浏览器启动 http://127.0.0.1/a ,tornado 监听到http://127.0.0.1/a,再执行AHandler
****
路由:
** 客户端访问服务器 可以看成客服端读取服务器的资源,路由就是确定访问的资源路径
路由表 匹配路径执行对应的事件
Handler:
先简单看成 确定路由后,执行相对的事件
tornado-简单的服务器的更多相关文章
- tornado的http服务器实现
使用tornado实现的一个简单http服务器:只需要定义自己的处理方法,其他的东西全部交给tornado完成. #coding:utf-8 import tornado.httpserver imp ...
- C#中使用Socket实现简单Web服务器
上一篇博客中介绍了怎样使用socket访问web服务器.关键有两个: 熟悉Socket编程: 熟悉HTTP协议. 上一篇主要是通过socket来模拟浏览器向(任何)Web服务器发送(HTTP)请求,重 ...
- 用nodejs搭建一个简单的服务器
使用nodejs搭建一个简单的服务器 nodejs优点:性能高(读写文件) 数据操作能力强 官网:www.nodejs.org 验证是否安装成功:cmd命令行中输入node -v 如果显示版本号表示安 ...
- 初学Node(六)搭建一个简单的服务器
搭建一个简单的服务器 通过下面的代码可以搭建一个简单的服务器: var http = require("http"); http.createServer(function(req ...
- 搭建无限制权限的简单git服务器使用git-daemon脚本
如果想要用ubantu架设无限制权限(即不适用gitosis)的简单git服务器,实现git库下载clone,push等简单的基本功能, 可以直接使用git-daemon脚本(非常不安全,建议项目代码 ...
- 运用socket实现简单的服务器客户端交互
Socket解释: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意 ...
- Ubuntu 14.04搭建简单git服务器
/****************************************************************************** * Ubuntu 14.04搭建简单gi ...
- tomcat解析之简单web服务器(图)
链接地址:http://gogole.iteye.com/blog/587163 之前有javaeyer推荐了一本书<how tomcat works>,今天晚上看了看,确实不错,第一眼就 ...
- Linux 下 简单客户端服务器通讯模型(TCP)
原文:Linux 下 简单客户端服务器通讯模型(TCP) 服务器端:server.c #include<stdio.h> #include<stdlib.h> #include ...
- 轻松创建nodejs服务器(1):一个简单nodejs服务器例子
这篇文章主要介绍了一个简单nodejs服务器例子,本文实现了一个简单的hello world例子,并展示如何运行这个服务器,需要的朋友可以参考下 我们先来实现一个简单的例子,hello world ...
随机推荐
- Size类型如何调用和定义
cv::Size sz = cv::Size(PROB_W, PROB_H);//Size(srcimage.cols, srcimage.rows) groundtoimage(xylimit, u ...
- win10笔记本实现双屏显示的自如切换
前言 使用电脑的过程中想一边看内容,一边进行编辑,这就涉及到双屏显示并实现扩展分屏,本文就介绍一下这些操作. 工具 win10-thinkpad-E470:另一块显示屏(博主的是戴尔的显示器):一条外 ...
- LDA模型应用实践-希拉里邮件主题分类
#coding=utf8 import numpy as np import pandas as pd import re from gensim import corpora, models, si ...
- os.path.join 用法
写在前面的话:看大家阅读量这么大,也应该在放点干货来了~~ 获取层级路径,直到可以获取文件夹下面的文件,多一个判断就行了: level1_list = [os.path.join(base_path, ...
- (4)格式化输出(%用法和format用法以及区别)
%s用法(%s的用法是写多少个,后面就要传多少个) format用法(基本语法是通过{}和:来代替%.format函数可以接受不限个参数,位置可以不按顺序) 形式一(顺序填坑{}) >>& ...
- 用vbs打开文件
set ws=createobject("wscript.shell")ws.run"打开文件所使用的程序+空格+程序路径",x,ture Run方法有三个参数 ...
- C# Request.Params与Request.QueryString 的区别
1.Request.Params包含Request.QueryString,request.form.request.cookies和request.servervariables.这几种查找的时候会 ...
- golang 如何查看程序执行消耗时间
写代码过程中,有时需要分析代码块的时间消耗. 本文介绍使用time包中的Since函数查看程序执行时间. package main import ( "fmt" "tim ...
- android设备唯一码的获取,cpu号,mac地址
抄自http://blog.csdn.net/hpccn/article/details/7872141 开发Android应用中,我们常常需要设备的唯一码来确定客户端. Android 中的几中方法 ...
- view的setTag() 和 getTag()应用 ViewHolder
转自 http://www.cnblogs.com/qingblog/archive/2012/07/03/2575140.html View中的setTag(Onbect)表示给View添加一个格外 ...