跨平台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之print详解
Sep 28 Python
低版本中Python除法运算小技巧
Apr 05 Python
Python多线程编程(七):使用Condition实现复杂同步
Apr 05 Python
Python的函数的一些高阶特性
Apr 27 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
Windows 64位下python3安装nltk模块
Sep 19 Python
python分块读取大数据,避免内存不足的方法
Dec 10 Python
简单了解Django应用app及分布式路由
Jul 24 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
OpenCV全景图像拼接的实现示例
Jun 05 Python
基于Python实现一个春节倒计时脚本
Jan 22 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
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
如何在PHP程序中防止盗链
2008/04/09 PHP
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
php中使用url传递数组的方法
2015/02/11 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
django接入新浪微博OAuth的方法
2015/06/29 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
Python实现图片添加文字
2019/11/26 Python
python中count函数简单用法
2020/01/05 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
应用电子技术专业个人求职信
2013/09/21 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
大学生简历求职信
2014/06/24 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
写给老师的保证书
2015/05/09 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技