我正在制作一个与Twisted套接字通信的iPhone应用程序,当我有一条消息发送时它工作得很好。然而,我的问题是我需要发送许多不同的信息到应用程序。这是我的代码。扭曲套接字立即发送消息
if numrows == 1:
#Did login
msg = "%s: Login Credentials Success" % _UDID
print msg
for c in self.factory.clients:
c.message(msg)
time.sleep(0.5)
for result in results:
for i in range(1, 6):
msg = "%s:L%d;%s" % (_UDID, i, result[i])
print msg
for c in self.factory.clients:
c.message(msg)
time.sleep(0.5)
else:
msg = "%s: Login Credentials Failed" % _UDID
print msg
for c in self.factory.clients:
c.message(msg)
time.sleep(0.5)
cursor.close()
database.close()
#print msg
#for c in self.factory.clients:
#c.message(msg)
def message(self, message):
self.transport.write(message)
说我是派只是第味精,和所有其他味精并没有随着印刷和每个味精以下方式存在,消息登录凭据成功将被发送到应用程序。但是,如果像你如何看待它一样放在其他地方,即使在代码中放一段时间,它也不会一下子发生,因为它一次发送完毕。
该应用程序每隔0.05秒或更少检查响应。尽管登录凭证位于顶部,但它并未通过,因为之后会发送更多信息,但没有凭证消息之后的所有信息都会通过。
我非常渴望找到答案。我试过了我能想到的一切。该应用程序不是问题,它是Python。
谢谢。
请勿在Twisted reactor线程中使用time.sleep(或任何阻塞函数)。 –
@ Jean-PaulCalderone我用它来测试它,但它不起作用。在发布后我发现不使用time.sleep()。 – Alec