我有一个特定的HTTP服务器,它接受传入连接并保持打开状态,不时发送数据,如聊天消息。
我尝试使用以下代码:
#!/usr/bin/env python2.6
# -*- coding: utf-8 -*-
import urllib2
url = "http://localhost/chat"
if __name__ == "__main__":
for line in urllib2.urlopen(url):
print line
这应该在用户终止脚本后立即打印聊天消息。事实上,这个脚本等待1分钟,而不是打印在这一分钟内到达的每条消息,然后退出。
有没有办法强制python保持连接打开并立即打印收到的数据?
答案 0 :(得分:2)
据我所知urllib2
维护其缓冲区,并且您无法使用urllib2
(以文档化的方式,至少)执行您想要的操作。您最好直接使用httplib
。