python 非阻塞tcp服务器

原创 2018年04月16日 21:33:44
import socket

import time


def main():
   # 创建一个tcp服务器端
   tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
   # 复用
   tcp_server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

   # 绑定
   tcp_server.bind(("", 8976))

   # 被 动
   tcp_server.listen(128)

   #设置非堵塞
   tcp_server.setblocking(False)

   #客户端列表
   clients = list()

   while True:
      time.sleep(1)
      try:
         client, addr = tcp_server.accept()

         print(client)
         client.setblocking(False)
         #有客户端就放入
         clients.append(client)


      except Exception as e:
         print("-------没有客户端------")

      #列表循环
      for client_new in clients:

         try:
            data = client_new.recv(1024).decode()
            if data:
               #有数据
               print(data)
            else:
               #关闭客户端
               client_new.close()  #关闭客户端
               clients.remove(client_new)  #循环删除

         except Exception as e:
            print("------没有数据-----")


   tcp_server.close()


if __name__ == '__main__':
   main()

非阻塞式TCP 服务器/客户端 基础

服务器端 ------------------------------------------------------------------------   #define _WINSOCK_...
  • yulinxx
  • yulinxx
  • 2016-08-25 15:50:38
  • 1014

Python SocketServer非阻塞TCP通讯

Python 利用SocketServer模块   实现网络客户端与服务器并发连接非阻塞通信 MyTCPServer.py import SocketServer from Sock...
  • xmnathan
  • xmnathan
  • 2015-07-31 16:19:42
  • 2140

linux 下非阻塞客户端,服务器代码

服务器端源代码如下: [cpp] view plain copy #include    #include    #include    #inclu...
  • du_bingbing
  • du_bingbing
  • 2016-08-25 15:14:59
  • 629

Socket C++ TCP阻塞\非阻塞 服务器 客户端 开发

  • 2012年05月20日 22:27
  • 140KB
  • 下载

python非阻塞服务器实现

不多解释,直接上代码,是我们之前做战斗服务器时搞得,翻出来分享一下,把业务那块的代码去掉了,只贴出核心代码 程序入口: #!/usr/bin/env python # encodi...
  • sunxiaolei
  • sunxiaolei
  • 2013-03-01 12:53:17
  • 505

python网络编程之阻塞与非阻塞模式的选择

在默认认的情况下,TCP套节字处于阻塞模式中。换句话说,如果没有完成操作,就不把控制权交给程序。例如调用connect( )API之后,连接操作会阻止程序继续往下执行,直到连接成功为止。很多情况下,你...
  • qq_33371343
  • qq_33371343
  • 2017-01-08 10:55:33
  • 4912

Winsocket 三:非阻塞server&client程序(tcp)

在 Winsocket 一:单线程阻塞server&client程序(tcp) 和 Winsocket 二:多线程阻塞服务器程序(tcp)简单接收了阻塞tcp程序,阻塞式tcp程序服务器程序会因为建...
  • u013071074
  • u013071074
  • 2014-05-20 11:58:35
  • 1763

Java网络编程之(三): TCP协议使用NIO实现非阻塞Soket通信

Java网络编程之(三): TCP协议使用NIO实现非阻塞Soket通信 前面介绍的网络通信程序是基于阻塞式API的————即当程序执行输入、输出操作后,在这些操作返回之前会一直阻塞该线程,所以服...
  • colwer
  • colwer
  • 2016-07-12 18:22:35
  • 2240

TCP Socket编程(非阻塞模式)(C++)

代码来源:《Windows网络编程》(罗莉琴,詹祖桥 主编)(如造成任何不便,请联系我删除) 服务器: // TcpServer.cpp : 定义控制台应用程序的入口点。 // #include...
  • WLFF_CSDN
  • WLFF_CSDN
  • 2017-04-23 16:30:29
  • 2233

[python&php 网络编程]把socket改成阻塞或非阻塞模式

1.python写法 import socket def test_socket_modes(): s = socket.socket(socket.AF_INET, socket.SOCK...
  • ddjohn
  • ddjohn
  • 2015-11-23 15:00:09
  • 2705
收藏助手
不良信息举报
您举报文章:python 非阻塞tcp服务器
举报原因:
原因补充:

(最多只允许输入30个字)