ホームページ  >  記事  >  バックエンド開発  >  クロスプラットフォーム Python 非同期コールバック メカニズムの実装と使用法

クロスプラットフォーム Python 非同期コールバック メカニズムの実装と使用法

WBOY
WBOYオリジナル
2016-06-16 08:46:111022ブラウズ

1 次のコードをファイルにコピーし、asyncore.py という名前を付けます

コードをコピー コードは次のとおりです:

importソケット
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()
0 を返す else:
s.close()
1 を返す

2 独自のコードを作成します

1> 非同期コアをインポートします

2> コールバック関数 callback を定義します。コールバックには、データを返すリクエストを表すパラメーターが必要です。

3> asyncore.ds_asyncore(('127.0.0.1', callback, ti​​meout=5) を直接呼び出します。最初のパラメーターは (ip, port) タプルで、2 番目はコールバック関数です。 3 番目はタイムアウト期間です。

コードをコピー コードは次のとおりです: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 で実行できます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。