2014-04-28 2 views
0

I는 HTTP GET 요청의 응답을받을 필요가 http://172.19.1.89/command/alarmdata.cgi?interval=1비 블로킹 소켓 프로그래밍없이 HTTP 스트림에서 읽을 상태를

지속적으로 나에게 지정된 간격의 상태를 응답과에서 스트리밍 요청 열립니다 요청 섬기는 사람.

하지만 내 Python 스크립트가 차단되었습니다. 연결이 종료되지 않기 때문입니다.

연결 중에 즉시 응답을 표시하는 방법은 무엇입니까?

Type "help", "copyright", "credits" or "license" for more information. 
>>> import httplib2 
>>> h = httplib2.Http() 
>>> h 
<httplib2.Http object at 0x108657690> 
>>> h.add_credentials('admin','admin') 
>>> (resp, content) = h.request('http://172.19.1.89/command/alarmdata.cgi?interval=1', 'GET') 

+0

주기적인 패션

의 서버에서 데이터를 가져 타이머 기능을 사용할 수 있습니다

,'응답을 포함하지 resp' 않습니다 여기에 막혔어요? –

+0

예, 연결이 종료되지 않기 때문에 즉시 콘솔에서 결과를 볼 수 없습니다. – newBike

답변

0
당신은 당신의 예에서
import threading 
t = None 

def sayHello(): 
    # here u can apply ur function to get periodic request .. 

    global t 
    print "Hello!" 
    t = threading.Timer(0.5, sayHello) # set the time interval 
    t.start() 
sayHello() 
+0

파이썬에서는'#'이 아니라'//' –

+0

을 주석 해 주셔서 감사합니다. 나는 그에게 기계 장치를 배우는 것을 의미합니다. 코드를 쓰지는 않습니다. 어떤 방법 으로든 그 오류를 다음 번에하지 않을 것입니다. –

+0

만약 당신이 올바른 방법을 배우고 싶다면,'global'을 사용하지 마십시오 –