from socket import *
def main():
serSocket = socket(AF_INET, SOCK_STREAM)
localAddr = ("127.0.0.1", 7788)
serSocket.bind(localAddr)
#设置监听的时候为非堵塞的模式
serSocket.setblocking(False)
serSocket.listen()
cliSocketList = []
while True:
try:
cliSocket, cliAddr = serSocket.accept()
#设置在接收信息的时候设置为非堵塞
cliSocket.setblocking(False)
except:
pass
else:
print("%s已经连接" % str(cliAddr))
cliSocketList.append((cliSocket, cliAddr))
for clienSocket, cliAddr in cliSocketList:
try:
cliData = clienSocket.recv(1024)
except:
pass
else:
if cliData > 0:
print("%s:%s" % (str(cliAddr), cliData))
else:
cliSocketList.remove((clienSocket, cliAddr))
if __name__ == '__main__':
main()
Python单进程的方式实现多任务模式
最新推荐文章于 2024-05-09 05:53:11 发布