跨平台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 测试实现方法
Dec 24 Python
python 字符串格式化代码
Mar 17 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
Python实现拷贝多个文件到同一目录的方法
Sep 19 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
解决pandas 作图无法显示中文的问题
May 24 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
Python 线程池用法简单示例
Oct 02 Python
解决Python列表字符不区分大小写的问题
Dec 19 Python
Python爬虫之爬取二手房信息
Apr 27 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
Jun 25 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
论坛头像随机变换代码
2006/10/09 PHP
php jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
js函数排序的实例代码
2013/07/01 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
谈谈React中的Render Props模式
2018/12/06 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
python进阶教程之词典、字典、dict
2014/08/29 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
Django基于客户端下载文件实现方法
2020/04/21 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
保送生自荐信范文
2013/10/06 职场文书
门诊手术室工作制度
2014/01/30 职场文书
12月小学生校园广播稿
2014/02/04 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
企业法人代表证明书
2015/06/18 职场文书