python实现异步回调机制代码分享

yipeiwu_com7年前Python基础

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)

相关文章

Python的Asyncore异步Socket模块及实现端口转发的例子

Asyncore模块提供了以异步的方式写入套接字服务客户端和服务器的基础结构。 只有两种方式使一个程序在单处理器上实现“同时做不止一件事”。多线程编程是最简单和最流行的方式,但是有另一种...

python使用urllib2模块获取gravatar头像实例

Gravatar注册地址: https://en.gravatar.com/ 复制代码 代码如下:"""`Gravatar <https://en.gravatar.com/sit...

浅析Python中的多条件排序实现

浅析Python中的多条件排序实现

多条件排序及itemgetter的应用 曾经客户端的同事用as写一大堆代码来排序,在得知Python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣。 之前在做足球的积分榜的...

wxpython实现图书管理系统

wxpython实现图书管理系统

用wxpython实现的简单图书管理系统,可以实现增加图书,删除图书,修改图书,查看图书。后台数据库为mysql数据库,采用的pymysql连接数据库。系统界面如下: 代码如下: 1....

使用Python自动化破解自定义字体混淆信息的方法实例

注意:本示例仅供学习参考~ 混淆原理 出于某种原因,明文信息通过自定义字体进行渲染,达到混淆目的。 举个例子: 网页源码 <p>123</p> 在正常字体的渲染下...