跨平台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脚本来获取Google搜索结果的示例
May 04 Python
Python实现周期性抓取网页内容的方法
Nov 04 Python
利用Celery实现Django博客PV统计功能详解
May 08 Python
python运行其他程序的实现方法
Jul 14 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
Python对列表的操作知识点详解
Aug 20 Python
在python中计算ssim的方法(与Matlab结果一致)
Dec 19 Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 Python
python3检查字典传入函数键是否齐全的实例
Jun 05 Python
Django nginx配置实现过程详解
Sep 10 Python
python中delattr删除对象方法的代码分析
Dec 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
php4的session功能评述(三)
2006/10/09 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
如何在PHP中生成随机数
2020/06/04 PHP
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
详解Vite的新体验
2021/02/22 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
python ip正则式
2009/05/07 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
Python3如何判断三角形的类型
2020/04/12 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
客服实习的个人自我鉴定
2013/10/20 职场文书
化学教师自荐信范文
2013/12/28 职场文书
留学推荐信中文范文三篇
2014/01/25 职场文书
单位员工收入证明样本
2014/10/09 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
导游词之无锡古运河
2019/11/14 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang