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 import自定义模块方法
Feb 12 Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
Apr 08 Python
使用C语言扩展Python程序的简单入门指引
Apr 14 Python
十条建议帮你提高Python编程效率
Feb 16 Python
python中闭包Closure函数作为返回值的方法示例
Dec 17 Python
Django中的Model操作表的实现
Jul 24 Python
Django中的ajax请求
Oct 19 Python
Django 开发环境与生产环境的区分详解
Jul 26 Python
python实现静态web服务器
Sep 03 Python
Python如何创建装饰器时保留函数元信息
Aug 07 Python
python线程池 ThreadPoolExecutor 的用法示例
Oct 10 Python
Python 虚拟环境工作原理解析
Dec 24 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
对盗链说再见...
2006/10/09 PHP
PHP添加MySQL数据记录代码
2008/06/07 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
常用PHP封装分页工具类
2017/01/14 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
javascript中常用编程知识
2013/04/08 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
2015/09/11 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
Windows下python3.7安装教程
2018/07/31 Python
华为2019校招笔试题之处理字符串(python版)
2019/06/25 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
如何理解python中数字列表
2020/05/29 Python
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
经典C++面试题一
2016/11/06 面试题
《胖乎乎的小手》教学反思
2014/02/26 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
2014年党支部工作总结
2014/11/13 职场文书
社区好人好事材料
2014/12/26 职场文书