跨平台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获取CPU、内存和硬盘等windowns系统信息的2个例子
Apr 15 Python
python装饰器decorator介绍
Nov 21 Python
python自动12306抢票软件实现代码
Feb 24 Python
Python实现动态添加属性和方法操作示例
Jul 25 Python
python实现本地图片转存并重命名的示例代码
Oct 27 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
python3使用matplotlib绘制条形图
Mar 25 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
python socket 聊天室实例代码详解
Nov 14 Python
python读取图像矩阵文件并转换为向量实例
Jun 18 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 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
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
php使用环形链表解决约瑟夫问题完整示例
2018/08/07 PHP
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
2018/08/07 Javascript
vue watch关于对象内的属性监听
2019/04/22 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
Python生成不重复随机值的方法
2015/05/11 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
GUESS盖尔斯法国官网:美国时尚品牌
2016/09/23 全球购物
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
优秀的计算机专业求职信范文
2013/12/27 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
个性发展自我评价
2014/02/11 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
创业培训计划书
2014/05/03 职场文书
十周年庆典策划方案
2014/06/03 职场文书
会计学自荐信
2014/06/03 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
培训简讯范文
2015/07/20 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript