Consumer Producer卡在多客户端服务器上

时间:2016-06-02 07:59:25

标签: python server producer-consumer

我有一个问题。我在这个聊天服务器上的制作人 - 消费者被卡住了。这就是它的作用:它让客户轮流发送他们的消息,当随机客户端(我的计算机内部)发送他的消息时,客户端之前尝试发送的所有消息都被发送。我找不到问题,也许有人可以发现它?

    def run(self):
    global condition
    global messages
    is_running = 1
    while is_running:

        print "waiting to receive from: " + self.usersock.getpname()
        inp = self.sock.recv(8192)

        condition.acquire()
        parts = inp.split(':-:321')
        if parts[0] == "4":
            while not noMessagesToSend(messages):
                condition.wait()    
            mes = message.message(str(datetime.datetime.now().time())[:8], self.usersock.id, parts[3],parts[4])
            if not mes.getgroup() in messages.keys():
                messages.update({mes.getgroup():[]})
            messages[mes.getgroup()].append(mes)
            condition.notifyAll()
            condition.release()
        else:
            print parts

0 个答案:

没有答案