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入门_浅谈逻辑判断与运算符
May 16 Python
python数据结构之链表详解
Sep 12 Python
python实现C4.5决策树算法
Aug 29 Python
Python3删除排序数组中重复项的方法分析
Jan 31 Python
解决django前后端分离csrf验证的问题
Feb 03 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
Jul 09 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 Python
Python统计分析模块statistics用法示例
Sep 06 Python
python实现批量文件重命名
Oct 31 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
Jun 17 Python
Python闭包的定义和使用方法
Apr 11 Python
Python FuzzyWuzzy实现模糊匹配
Apr 28 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抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
php+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
JavaScript动态调整TextArea高度的代码
2010/12/28 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
javascript数据类型详解
2017/02/07 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
AngularJS 应用模块化的使用
2018/04/04 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
python实现将文本转换成语音的方法
2015/05/28 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
Python检查ping终端的方法
2019/01/26 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
中国制造网:Made-in-China.com
2019/10/25 全球购物
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
计算机相关的自我评价
2014/01/15 职场文书
会计岗位说明书
2014/07/29 职场文书
现货白银电话营销话术
2015/05/29 职场文书
教师见习总结范文
2015/06/23 职场文书
SpringAop日志找不到方法的处理
2021/06/21 Java/Android
oracle索引总结
2021/09/25 Oracle
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis
Java中的继承、多态以及封装
2022/04/11 Java/Android
python前后端自定义分页器
2022/04/13 Python
解决Oracle数据库用户密码过期
2022/05/11 Oracle