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中functools模块函数解析
Mar 12 Python
python利用标准库如何获取本地IP示例详解
Nov 01 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 Python
windows下安装Python的XlsxWriter模块方法
May 03 Python
python 调用有道api接口的方法
Jan 03 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
使用Python将Exception异常错误堆栈信息写入日志文件
Apr 08 Python
Jupyter 无法下载文件夹如何实现曲线救国
Apr 22 Python
Python多线程的退出控制实现
Aug 10 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 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计算多维数组中所有值总和的方法
2015/06/24 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
在javascript中关于节点内容加强
2013/04/11 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
js如何编写简单的ajax方法库
2017/08/02 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
跟老齐学Python之从格式化表达式到方法
2014/09/28 Python
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Python实现简单的文件传输与MySQL备份的脚本分享
2016/01/03 Python
python django 访问静态文件出现404或500错误
2017/01/20 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
python去掉空白行的多种实现代码
2018/03/19 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
python实现批处理文件
2020/07/28 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
主题实践活动总结
2014/05/08 职场文书
应届大学生自荐书
2014/06/17 职场文书
会计学习心得体会
2014/09/09 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL