跨平台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实现ipsec开权限实例
Nov 11 Python
Python 列表list使用介绍
Nov 30 Python
python3之模块psutil系统性能信息使用
May 30 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
django框架CSRF防护原理与用法分析
Jul 22 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
Python生态圈图像格式转换问题(推荐)
Dec 02 Python
Python Print实现在输出中插入变量的例子
Dec 25 Python
浅析Python面向对象编程
Jul 10 Python
python开发入门——列表生成式
Sep 03 Python
基于 Python 实践感知器分类算法
Jan 07 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
header()函数使用说明
2006/11/23 PHP
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
教你如何使用php session
2013/10/28 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
2015/08/04 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
Python列表切片用法示例
2017/04/19 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
英国计算机商店:Technextday
2019/12/28 全球购物
银行开业庆典方案
2014/02/06 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
医院保洁员管理制度
2015/08/05 职场文书
聘任通知书
2015/09/21 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python