Python 通过监听端口实现唯一脚本运行方式


Posted in Python onMay 05, 2020

我就废话不多说了,大家还是直接看代码吧

try:
 s = socket.socket()
 s.bind(('127.0.0.1', port))
except:
 log.info(' * already has an instance, so exit.')
 exit(0)

补充知识:Python:一个简单的tornado程序:监听服务器端口,访问时给浏览器返回一个字符串

一个简单的tornado程序

tornado是python里的一个模块,它是一种web服务器软件的开源版本

它作为web服务器,具有较出色的抗负载能力,它适用于用户量大,高并发,或者大量的HTTP持久连接的情况。

我们来看一段简单的程序代码

import tornado.web
import tornado.ioloop

class IndexHander(tornado.web.RequestHander):
  def get(self):
   self.write("hello world! My name is alien!")

if __name__ = "__main__":
 app = tornado.web.Application([
  (r"/", IndexHander)
 ])
 app.listen(8000)
 tornado.ioloop.IOLoop.current().start()

Python 通过监听端口实现唯一脚本运行方式

当我们运行这段程序时,在浏览器上输入ip+我们监听的端口就可以显示这样的效果:

那么我们现在逐句分析这段小代码:

1、

import tornado.web
import tornado.ioloop

首先要进行导入操作

这里的tornado.web是tornado的基础web框架模块

tornado.ioloop是tornado的核心I/O循环模块(也就是说,服务一起,就不会自己关闭了)ioloop封装了linux的epoll和BSD的kquene,这个循环模块是tornado高效的基础

2、

class IndexHander(tornado.web.RequestHander):
  def get(self):
   self.write("hello world! My name is alien!")

这里是创建了一个类,继承了tornado.web.RequestHander类,其实就是一个业务处理类,用于接收请求的

里面的get函数就是处理get请求的

write函数这里返回了一个字符串,也就响应信息为这段字符串

3、

if __name__ = "__main__":

这段python代码就是当入口函数为当前文件时,执行以下代码

4、

app = tornado.web.Application([
  (r"/", IndexHander)
 ])

这段代码是利用tornado.web下的Application类实例化出一个对象,这个对象名叫app,(r"/", IndexHander)这个是路由映射

Application类是tornado.web框架的核心应用类,是与服务器对应的接口,它里面保存了路由映射表

5、

app.listen(8000)

这里的listen是绑定了监听端口8000

用Application类创建出来的对象app中,有一个listen方法,因此可以直接调用listen

所以listen就是创建一个http服务器后绑定监听端口

注意注意:

这里的listen只是绑定了端口,并没有开启监听

6、

tornado.ioloop.IOLoop.current().start()

这里是启动该实例的I/O循环

IOLoop.current()返回了当前线程的ioloop实例,也就是返回了一个对象?当前线程读写操作的对象

IOLoop.start()启动了ioloop实例的I/O循环,等待客户端的链接

注意注意:

IOLoop.start()才开启了监听,刚刚上面的listen是没有开启监听的

以上这篇Python 通过监听端口实现唯一脚本运行方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 参数列表中的self 显式不等于冗余
Dec 01 Python
python pandas中对Series数据进行轴向连接的实例
Jun 08 Python
Python代码块批量添加Tab缩进的方法
Jun 25 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
Python查找最长不包含重复字符的子字符串算法示例
Feb 13 Python
Python使用scrapy爬取阳光热线问政平台过程解析
Aug 14 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
Python使用scipy模块实现一维卷积运算示例
Sep 05 Python
python连接PostgreSQL数据库的过程详解
Sep 18 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
python Cartopy的基础使用详解
Nov 01 Python
python2.7使用scapy发送syn实例
May 05 #Python
python 使用raw socket进行TCP SYN扫描实例
May 05 #Python
Python之变量类型和if判断方式
May 05 #Python
Python实现CAN报文转换工具教程
May 05 #Python
python TCP包注入方式
May 05 #Python
python构造IP报文实例
May 05 #Python
python3通过udp实现组播数据的发送和接收操作
May 05 #Python
You might like
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
js字母大小写转换实现方法总结
2013/11/13 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
详解vue 命名视图
2019/08/14 Javascript
vue设置导航栏、侧边栏为公共页面的例子
2019/11/01 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
使用Django和Python创建Json response的方法
2018/03/26 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
python实现复制文件到指定目录
2019/10/16 Python
Python中求对数方法总结
2020/03/10 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
法雷奥SQA(electric)面试问题
2016/01/23 面试题
师范毕业生自我鉴定
2014/01/15 职场文书
领导干部培训感言
2014/01/23 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
学校联谊活动方案
2014/02/15 职场文书
《与象共舞》教学反思
2014/02/24 职场文书