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"))
    
     
  • 相关阅读:
    ajaxFileUpload 实现多文件上传(源码)
    Springboot 热部署的两种方式
    基于树莓派3B+Python3.5的OpenCV3.4的配置教程
    Shiro 架构原理
    Cron表达式
    SpringBoot中Scheduled代码实现
    Linus安装mysql8
    查看虚拟机CENTOS7 的 IP 地址和命令
    linux vi保存退出命令 (如何退出vi)
    Linux常用命令大全
  • 原文地址:https://www.cnblogs.com/liaoboshi/p/6374923.html
Copyright © 2011-2022 走看看