本文實(shí)例為大家分享了python實(shí)現(xiàn)單線程多任務(wù)非阻塞TCP服務(wù)端的具體代碼,供大家參考,具體內(nèi)容如下
# coding:utf-8from socket import *# 1.創(chuàng)建服務(wù)器socketsock = socket(AF_INET, SOCK_STREAM)# 2.綁定主機(jī)和端口addr = ('', 7788) #sock.bind(addr)# 3. 設(shè)置最大監(jiān)聽數(shù)目,并發(fā)sock.listen(10)# 4. 設(shè)置成非阻塞sock.setblocking(False)# 保存客戶端socketclientAddrList = []# 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 已經(jīng)下線" % str(clientAddr))以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選