python 단일 스 레 드 다 중 작업 비 차단 TCP 서버 구현

본 논문 의 사례 는 python 이 단일 스 레 드 다 중 작업 을 실현 하 는 TCP 서버 의 구체 적 인 코드 를 공유 하 였 으 며,구체 적 인 내용 은 다음 과 같 습 니 다.

# coding:utf-8
from socket import *

# 1.     socket
sock = socket(AF_INET, SOCK_STREAM)

# 2.       
addr = ('', 7788) #
sock.bind(addr)

# 3.         ,  
sock.listen(10)

# 4.       
sock.setblocking(False)
#      socket
clientAddrList = []
# print(sock.)

while 1:
  try:
    clientSocket, clientAddr = sock.accept()
  except:
    pass
  else:
    print("        :%s" % str(clientAddr))
    clientSocket.setblocking(False)
    clientAddrList.append((clientSocket, clientAddr))

  for clientSocket, clientAddr in clientAddrList:
    try:
      recvData = clientSocket.recv(1024)
    except:
      pass
    else:
      if len(recvData) > 0:
        print("%s:%s" % (str(clientAddr), recvData))
      else:
        clientSocket.close()
        clientAddrList.remove((clientSocket, clientAddr))
        print("%s     " % str(clientAddr))
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기