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通过shutil实现快速文件复制的方法
Mar 14 Python
基于python实现的抓取腾讯视频所有电影的爬虫
Apr 22 Python
Python文件操作之合并文本文件内容示例代码
Sep 19 Python
python smtplib模块自动收发邮件功能(二)
May 22 Python
python 批量修改/替换数据的实例
Jul 25 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
Aug 20 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
Python网络爬虫信息提取mooc代码实例
Mar 06 Python
Python获取对象属性的几种方式小结
Mar 12 Python
Python3操作YAML文件格式方法解析
Apr 10 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 Python
详解使用python爬取抖音app视频(appium可以操控手机)
Jan 26 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
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
php若干单维数组遍历方法的比较
2011/09/20 PHP
PHP中的替代语法简介
2014/08/22 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
实例讲解php实现多线程
2019/01/27 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
dojo随手记 gird组件引用
2011/02/24 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
ionic3 懒加载
2017/08/16 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
js实现列表按字母排序
2020/08/11 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
python时间整形转标准格式的示例分享
2014/02/14 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
python获取栅格点和面值的实现
2020/03/10 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
大专生自荐信
2013/10/04 职场文书
实习自荐信
2013/10/13 职场文书
销售经理工作职责范文
2013/12/03 职场文书
小学生寒假家长评语
2014/04/16 职场文书
项目经理任命书
2014/06/04 职场文书
与美同行演讲稿
2014/09/13 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
linux目录管理方法介绍
2022/06/01 Servers