跨平台python异步回调机制实现和使用方法


Posted in Python onNovember 26, 2013

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)

注:此代码可在windows,linux上运行

Python 相关文章推荐
使用Python判断IP地址合法性的方法实例
Mar 13 Python
Python文件操作类操作实例详解
Jul 11 Python
如何解决django配置settings时遇到Could not import settings 'conf.local'
Nov 18 Python
浅谈python中的正则表达式(re模块)
Oct 17 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
Python实现名片管理系统
Feb 14 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 Python
Python API 操作Hadoop hdfs详解
Jun 06 Python
Python中Selenium库使用教程详解
Jul 23 Python
解决TensorFlow训练模型及保存数量限制的问题
Mar 03 Python
python连接池实现示例程序
Nov 26 #Python
使用python BeautifulSoup库抓取58手机维修信息
Nov 21 #Python
python BeautifulSoup使用方法详解
Nov 21 #Python
python装饰器使用方法实例
Nov 21 #Python
tornado框架blog模块分析与使用
Nov 21 #Python
python迭代器的使用方法实例
Nov 21 #Python
python生成器的使用方法
Nov 21 #Python
You might like
php 动态添加记录
2009/03/10 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
PHP中模拟链表和链表的基本操作示例
2016/02/27 PHP
php加密解密字符串示例
2016/10/13 PHP
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
Angular2 父子组件数据通信实例
2017/06/22 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
python matplotlib坐标轴设置的方法
2017/12/05 Python
python中subprocess批量执行linux命令
2018/04/27 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
家庭户外服装:Hawkshead
2017/11/02 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
综合素质的自我鉴定
2013/10/07 职场文书
大学生实习自我鉴定
2013/12/11 职场文书
餐厅考勤管理制度
2014/01/28 职场文书
关于环保的建议书400字
2014/03/12 职场文书
交通事故私了协议书
2014/04/16 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书
领导班子个人对照检查材料(群众路线)
2014/09/26 职场文书
防灾减灾标语
2014/10/07 职场文书
律师函格式范本
2015/05/27 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python