跨平台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 相关文章推荐
Python3处理文件中每个词的方法
May 22 Python
python查看微信好友是否删除自己
Dec 19 Python
Django卸载之后重新安装的方法
Mar 15 Python
Django 全局的static和templates的使用详解
Jul 19 Python
Python 实例方法、类方法、静态方法的区别与作用
Aug 14 Python
Flask框架学习笔记之模板操作实例详解
Aug 15 Python
python实现大学人员管理系统
Oct 25 Python
如何基于python测量代码运行时间
Dec 25 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 Python
python list的index()和find()的实现
Nov 16 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 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
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
Python中的map、reduce和filter浅析
2014/04/26 Python
简单了解什么是神经网络
2017/12/23 Python
Django 反向生成url实例详解
2019/07/30 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
Django 返回json数据的实现示例
2020/03/05 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
《观舞记》教学反思
2014/04/16 职场文书
工作会议方案
2014/05/21 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
出国留学单位推荐信
2015/03/26 职场文书