python实现异步回调机制代码分享


Posted in Python onJanuary 10, 2014

1 将下面代码拷贝到一个文件,命名为asyncore.py

import socket
import select
import sys
def ds_asyncore(addr,callback,timeout=5):
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect(addr)
    r,w,e = select.select([s],[],[],timeout)
    if r:
        respose_data=s.recv(1024)
        callback(respose_data)
        s.close()
        return 0
    else:
        s.close()
        return 1

2 编写自己的代码

1> 导入asyncore

2> 定义回调函数callback,callback需要一个参数,代表请求返回数据

3> 直接调用asyncore.ds_asyncore(('127.0.0.1', 33333),callback,timeout=5),其中第一个参数是一个(ip,port)元组,第二个是回调函数,第三个是超时时间。

import asyncore
if __name__=="__main__":
    def callback(respose_data):
        print respose_data
    asyncore.ds_asyncore(('127.0.0.1', 33333),callback,timeout=5)
Python 相关文章推荐
python利用beautifulSoup实现爬虫
Sep 29 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
Python时间的精准正则匹配方法分析
Aug 17 Python
python之pyqt5通过按钮改变Label的背景颜色方法
Jun 13 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
python爬虫之遍历单个域名
Nov 20 Python
关于Python3 lambda函数的深入浅出
Nov 27 Python
python中的线程threading.Thread()使用详解
Dec 17 Python
python 项目目录结构设置
Feb 14 Python
python中entry用法讲解
Dec 04 Python
Python源码解析之List
May 21 Python
python3使用tkinter实现ui界面简单实例
Jan 10 #Python
python构造icmp echo请求和实现网络探测器功能代码分享
Jan 10 #Python
python中mechanize库的简单使用示例
Jan 10 #Python
python使用新浪微博api上传图片到微博示例
Jan 10 #Python
python发腾讯微博代码分享
Jan 10 #Python
python实现2014火车票查询代码分享
Jan 10 #Python
python抓取豆瓣图片并自动保存示例学习
Jan 10 #Python
You might like
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
Javascript复制实例详解
2016/01/28 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
详解在Python程序中使用Cookie的教程
2015/04/30 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
深入了解NumPy 高级索引
2020/07/24 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
HTML5自定义属性的问题分析
2019/08/16 HTML / CSS
购买大码女装:Lane Bryant
2016/09/07 全球购物
职业培训师职业生涯规划
2014/02/18 职场文书
个人欠款担保书
2014/05/20 职场文书
学校捐书活动总结
2015/05/08 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
golang interface判断为空nil的实现代码
2021/04/24 Golang
Redis持久化与主从复制的实践
2021/04/27 Redis
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers