跨平台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中Switch/Case实现的示例代码
Nov 09 Python
浅谈Python实现2种文件复制的方法
Jan 19 Python
利用Pandas 创建空的DataFrame方法
Apr 08 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
详解python中的Turtle函数库
Nov 19 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 Python
python实现发送form-data数据的方法详解
Sep 27 Python
Python二元赋值实用技巧解析
Oct 25 Python
Python Django view 两种return的实现方式
Mar 16 Python
Python如何在windows环境安装pip及rarfile
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
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
PHP array 的加法操作代码
2010/07/24 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
vue实现评价星星功能
2020/06/30 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
Python的Django中将文件上传至七牛云存储的代码分享
2016/06/03 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
美国电视购物HSN官网:HSN
2016/09/07 全球购物
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
2015年乡镇工会工作总结
2015/05/19 职场文书
学生安全责任协议书
2016/03/22 职场文书
中国古代史学名著《战国策》概述
2019/08/09 职场文书
Hive常用日期格式转换语法
2022/06/25 数据库