Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

non blocking I/O ネットワークライブラリ

今作ってるやつ。
python2.6以降前提。
モジュール名募集!
ブランド力が大事らしいのでmopenioになりました。
non blocking I/Oだけどブロッキングコードのように書ける。
コアはeventletとほぼ同じになった。。。。
(丸パクリ)

from mopenio.thread import threaded
from mopenio.io import NioSocket
import socket

@threaded
def handle_client(conn):
    data = conn.recv(8192)
    conn.send(data)
    conn.close()

sock = NioSocket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('localhost', 6000))
sock.listen(100)

while True:
    conn, addr = sock.accept()
    handle_client(conn)