zoukankan      html  css  js  c++  java
  • selector

    __author__ = "Leo"
    import selectors
    import socket
    #实例化一个selector对象
    sel = selectors.DefaultSelector()


    def accept(sock, mask):
    conn, addr = sock.accept() # Should be ready
    print('accepted', conn, 'from', addr)
    conn.setblocking(False)
    sel.register(conn, selectors.EVENT_READ, read)#新连接注册read回调函数。只要新连接发送数据来,就调用read


    def read(conn, mask):
    data = conn.recv(1024) # Should be ready
    if data:
    print('echoing', repr(data), 'to', conn)
    conn.send(data) # Hope it won't block
    else:
    print('closing', conn)
    sel.unregister(conn)
    conn.close()


    sock = socket.socket()
    sock.bind(('localhost', 10000))
    sock.listen(100)
    sock.setblocking(False)
    sel.register(sock, selectors.EVENT_READ, accept)

    while True:
    events = sel.select()#默认是阻塞,有活动链接就返回活动的连接列表
    for key, mask in events:
    callback = key.data #accept
    callback(key.fileobj, mask)#keyfileobj=conn
  • 相关阅读:
    第 3 表格和按钮
    jQuery在线手册
    阮一峰:jQuery的几篇文章
    阮一峰:MVC、MVP和MVVM的图示
    javascript event(事件对象)详解
    图片加 alt 属性
    w3c School
    命名规范
    CSS和JS标签style属性对照表
    css 选择器
  • 原文地址:https://www.cnblogs.com/WhatTTEver/p/6834449.html
Copyright © 2011-2022 走看看