跨平台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中的getattr函数 hasattr函数
Jun 14 Python
Python对列表中的各项进行关联详解
Aug 15 Python
Python+matplotlib实现填充螺旋实例
Jan 15 Python
Python的多维空数组赋值方法
Apr 13 Python
python实现图片识别汽车功能
Nov 30 Python
Python遍历文件夹 处理json文件的方法
Jan 22 Python
django中forms组件的使用与注意
Jul 08 Python
python解压zip包中文乱码解决方法
Nov 27 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
Jan 05 Python
python开发实时可视化仪表盘的示例
May 07 Python
Python中seaborn库之countplot的数据可视化使用
Jun 11 Python
Python中的socket网络模块介绍
Jul 23 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 分页分组类
2009/12/10 PHP
php实现简单文件下载的方法
2015/01/30 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
PHP中str_split()函数的用法讲解
2019/04/11 PHP
一个javascript参数的小问题
2008/03/02 Javascript
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
jquery each()源代码
2011/02/14 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
JS通过Cookie判断页面是否为首次打开
2016/02/05 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
Python编码时应该注意的几个情况
2013/03/04 Python
python求列表交集的方法汇总
2014/11/10 Python
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
Python中tell()方法的使用详解
2015/05/24 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
django2笔记之路由path语法的实现
2019/07/17 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
日常奢侈品,轻松购物:Verishop
2019/08/20 全球购物
洗发露广告词
2014/03/14 职场文书
篮球社团活动总结
2014/06/27 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
Java字符串逆序方法详情
2022/03/21 Java/Android
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL