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的chardet库获得文件编码并修改编码
Jan 22 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
Python实现的径向基(RBF)神经网络示例
Feb 06 Python
Python zip()函数用法实例分析
Mar 17 Python
Numpy数组转置的两种实现方法
Apr 17 Python
Python除法之传统除法、Floor除法及真除法实例详解
May 23 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
Django异步任务线程池实现原理
Dec 17 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
Python 判断时间是否在时间区间内的实例
May 16 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
Python调用JavaScript代码的方法
Oct 27 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+javascript液晶时钟
2006/10/09 PHP
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
实例讲解php实现多线程
2019/01/27 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
python对html过滤处理的方法
2018/10/21 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
详细分析Python collections工具库
2020/07/16 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
python pip如何手动安装二进制包
2020/09/30 Python
Python colormap库的安装和使用详情
2020/10/06 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
美国性感内衣店:Yandy
2018/06/12 全球购物
线程的基本概念、线程的基本状态以及状态之间的关系
2012/10/26 面试题
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
运动会广播稿20字
2014/02/18 职场文书
党性心得体会
2014/09/03 职场文书
redis 存储对象的方法对比分析
2021/08/02 Redis