跨平台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中条件选择和循环语句使用方法介绍
Mar 13 Python
Python获取Windows或Linux主机名称通用函数分享
Nov 22 Python
python文件操作相关知识点总结整理
Feb 22 Python
Python的Django框架中forms表单类的使用方法详解
Jun 21 Python
Python中with及contextlib的用法详解
Jun 08 Python
TensorFlow实现卷积神经网络CNN
Mar 09 Python
python3个性签名设计实现代码
Jun 19 Python
python实时监控cpu小工具
Jun 21 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
Python 输出详细的异常信息(traceback)方式
Apr 08 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 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
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
JavaScript修改css样式style
2008/04/15 Javascript
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
Python中文件遍历的两种方法
2014/06/16 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
python 读取文件并替换字段的实例
2018/07/12 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
python将图片转base64,实现前端显示
2020/01/09 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
十八届三中全会学习方案
2014/02/16 职场文书
简单的大学生自我鉴定
2014/02/18 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python