zoukankan      html  css  js  c++  java
  • 阻塞模式

    阻塞就是如果请求没有响应,就一直等待,直到请求完成。

    block_server.py

    服务端在一段时间内,将一首诗歌的文本发送给client。

    如果客户端连续请求三个服务端的数据,第一个请求还没结束之前,第二个并不会开始,而是会等到第一个结束再开始,这就是阻塞的意思。

    # this is a socket test
    import socket,time
    
    def main():
        poetry_file = 'science'
    
        # set the socket server listening
        server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
        server.bind(('localhost',3397))
        server.listen(5)
    
        print('Serve %s on port 3397'%(poetry_file))
    
        while True:
            conn,addr = server.accept()
            with open(poetry_file) as f:
    
                while True:
                    bytes = f.read(15)
    
                    if len(bytes) == 0:
                        server.close()
                        return
    
                    print('sending %d bytes' % (len(bytes)))
    
                    try:
                        conn.send(bytes.encode())
                    except socket.error:
                        server.close()
                        return
    
                    time.sleep(0.2)
    
    if __name__ == '__main__':
        main()
    

      

  • 相关阅读:
    兼容ie10及以上css3加载进度动画
    MySQL的安装
    VSFTPD+MYSQL+PAM
    58.省市联动-json
    省市联动
    56.检验特殊字符
    55.全选2
    54.截取字符串的思想实现输入框字数限制
    网络截取文件名
    lastPathComponent的功能
  • 原文地址:https://www.cnblogs.com/jabbok/p/9291537.html
Copyright © 2011-2022 走看看