zoukankan      html  css  js  c++  java
  • python io

    import socket,select
    
    sk = socket.socket()
    sk.bind(("127.0.0.1",8090))
    sk.listen(5)
    
    li = [sk,]
    
    while True:
        r,w,e = select.select(li,[],[],5)
    
        for obj in r:
            if obj == sk:
                conn,addr = obj.accept()
                print(conn)
                li.append(conn)
            else:
                data=obj.recv(1024).decode("utf8")
                print("%s 号客户发来: %s"%(li.index(obj),data))
                msg = input(">>>:")
                obj.sendall(msg.encode("utf8"))
    
        print("======",r)
    
    
    
    
    import  socket
    
    client = socket.socket()
    client.connect(("127.0.0.1",8090))
    
    while True:
        msg = input(">>>")
        client.send(msg.encode("utf8"))
        data = client.recv(1024)
        print(data.decode("utf8"))
    
    selectors
    import selectors,socket
    
    sel = selectors.DefaultSelector()
    
    def accept(sk,mask):
        conn,addr = sk.accept()
        print("accepted", conn ,"from", addr)
        conn.setblocking(False)
        sel.register(conn,selectors.EVENT_READ,read)
    
    def read(conn,mask):
        try:
            data = conn.recv(1024)
            if not data:
                raise Exception
            print("echoing", repr(data), "to", conn)
            conn.send(data)
        except Exception as e:
            print("closing", conn)
            sel.unregister(conn)
            conn.close()
    
    sk = socket.socket()
    sk.bind(("127.0.0.1",8083))
    sk.listen(100)
    sk.setblocking(False)
    
    sel.register(sk,selectors.EVENT_READ,accept)
    
    while True:
        events = sel.select()
        for key,mask in events:
            callback = key.data
            callback(key.fileobj,mask)
    
    
    
    
    import socket
    
    client = socket.socket()
    client.connect(("127.0.0.1",8083))
    
    while True:
        msg = input(">>>")
        client.send(msg.encode("utf8"))
        data = client.recv(1024)
        print(data.decode("utf8"))
    
     
  • 相关阅读:
    Android之Margin和Padding属性及支持的长度单位
    java jvm eclipse 性能调优
    spring aop 内部方法调用事务不生效问题解决
    服务器 获取用户 真实ip
    Nginx gzip配置
    全局唯一的支付和订单id生成算法
    spring aop 方法增加日志记录
    linux cp复制文件 直接覆盖
    Twitter分布式自增ID算法snowflake原理解析
    nginx 命令
  • 原文地址:https://www.cnblogs.com/liaoboshi/p/6374923.html
Copyright © 2011-2022 走看看