tcp单进程非堵塞服务器 from socket import *
def main():
tSocket = socket(AF_INET,SOCK_STREAM)
bindAddr = ("",7288)
tSocket.bind(bindAddr)
tSocket.setblocking(False)
tSocket.listen(5)
clientAddrList = []
while True:
try:
clientSocket,clientInfo = tSocket.accept()
except:
pass
else:
print("一个新的客户端链接:%s"%str(clientInfo))
clientSocket.setblocking(False)
clientAddrList.append((clientSocket,clientInfo))
for clientSocket,clientInfo in clientAddrList:
try:
clientData = clientSocket.recv(1024)
except:
pass
else:
if len(clientData) > 0:
print("%s:%s"%(str(clientInfo),clientData))
else:
clientSocket.close()
clientAddrList.remove((clientSocket,clientInfo))
print("%s已下线"%str(clientInfo))
if __name__ == "__main__":
main()