1 次のコードをファイルにコピーし、asyncore.py という名前を付けます
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 を返す
1> 非同期コアをインポートします
2> コールバック関数 callback を定義します。コールバックには、データを返すリクエストを表すパラメーターが必要です。
3> asyncore.ds_asyncore(('127.0.0.1', callback, timeout=5) を直接呼び出します。最初のパラメーターは (ip, port) タプルで、2 番目はコールバック関数です。 3 番目はタイムアウト期間です。
print respose_data
asyncore.ds_asyncore(('127.0.0.1', 33333),callback,timeout=5)