美文网首页
单进程---单线程的非阻塞

单进程---单线程的非阻塞

作者: 彝_e37e | 来源:发表于2019-07-10 17:10 被阅读0次

    设置套接字为非阻塞的方式:tcp_server_socket.setblocking(Flase)

    也要把new_socket设置为非阻塞方式:new_socket.setblocking(Flase)

    accept()是判断是否有新客户端到来recv是判断是否有新数据到来

    单进程单线程不能同一时刻为别人服务,一定是并发不是并行,因为要是并行的话在列表里面的客户端时要同时为别人服务的

    先进入while:True循环,然后判断是否有新客户到来,要是没有就不会走else其中的列表是空的所以就不会进入for循环;当有新的客户端连接时就会走else其中列表就不为空就会走for循环,就会调用已有的连接rece()来进行数据的获取,其中要是数据没有来就会进行下一轮循环,当有新的数据获取会产生两种状况:(1)对方已发送过来数据(2)对方调用close()导致了recv()返回

    相关文章

      网友评论

          本文标题:单进程---单线程的非阻塞

          本文链接:https://www.haomeiwen.com/subject/estkkctx.html