跨平台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运算符重载用法实例
May 28 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
Oct 09 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
python matplotlib绘制三维图的示例
Sep 24 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 Python
python反扒机制的5种解决方法
Feb 06 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
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
2017/06/29 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
浅谈Webpack 持久化缓存实践
2018/03/22 Javascript
Node.js 实现抢票小工具 & 短信通知提醒功能
2019/10/22 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
在Python中处理XML的教程
2015/04/29 Python
解决Python传递中文参数的问题
2015/08/04 Python
Python Requests库基本用法示例
2018/08/20 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
简单了解Python3 bytes和str类型的区别和联系
2019/12/19 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
Python爬虫定时计划任务的几种常见方法(推荐)
2021/01/15 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
小学家长评语大全
2014/04/16 职场文书
小学生评语大全
2014/04/18 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js