跨平台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正则表达式re模块详解
Jun 25 Python
Python利用多进程将大量数据放入有限内存的教程
Apr 01 Python
用实例解释Python中的继承和多态的概念
Apr 27 Python
为Python程序添加图形化界面的教程
Apr 29 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
Apr 26 Python
python语言元素知识点详解
May 15 Python
python中多个装饰器的调用顺序详解
Jul 16 Python
关于PyTorch 自动求导机制详解
Aug 18 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
如何将json数据转换为python数据
Sep 04 Python
python缺失值填充方法示例代码
Dec 24 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常用数组函数介绍
2014/07/28 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
PM2自动部署代码步骤流程总结
2018/12/10 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
python函数装饰器用法实例详解
2015/06/04 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
Python使用python-docx读写word文档
2019/08/26 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
高中毕业自我鉴定
2013/12/16 职场文书
个人承诺书
2014/03/26 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
应急管理培训方案
2014/06/12 职场文书
工程造价专业求职信
2014/07/17 职场文书
售房协议书范本2014
2014/10/23 职场文书
社区学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
党支部书记岗位职责
2015/02/15 职场文书
使用HttpSessionListener监听器实战
2022/03/17 Java/Android