2011-07-05 6 views
0

채널 API를 작동 시키려고합니다.appengine 채널에 메시지가 없습니다.

뷰에서

:

def channel_test(channel_token): 
    tries = 1 
    logging.info('starting channel_test') 
    for attempt in range(tries): 
     message = 'this is message number: ' + str(attempt) 
     channel.send_message(channel_token, message) 
     logging.info('just sent: ' + message) 
     logging.info(channel_token) 

def viewfunc(): 
    channel_token = channel.create_channel('aosasdf123') 
    deferred.defer(channel_test, channel_token, _countdown=10) 
    return render_template('Main/cycle.html', form=form, channel_token=channel_token) 

내 템플릿 :

<script type="text/javascript" charset="utf-8"> 
    function tell_user(message) { 
     $('#CycleChannelMessages').append(message + '<br />'); 
    } 

    function onOpened() { 
     console.log('onOpened'); 
     var connected = true; 
     tell_user('ready to take messages'); 
     tell_user('{{ channel_token }}'); 
    } 
    function onMessage(msg_obj) { 
     console.log('onMessage'); 
     tell_user('something'); 
     // tell_user(msg_obj.data); 

    } 
    function onError(obj) { 
     console.log('onError'); 
    } 
    function onClose(obj) { 
     console.log('onClose'); 
    } 

    var channel = new goog.appengine.Channel('{{ channel_token }}'); 
    var socket = channel.open(); 
    socket.onopen = onOpened; 
    socket.onmessage = onMessage; 
    socket.onerror = onError; 
    socket.onclose = onClose; 
</script> 

하지만 내가 할 수있는 유일한 출력으로 onOpen에서입니다 :

ready to take messages 
channel-1788270053-aosasdf123 
이것은 내가 지금까지 무엇을 가지고

콘솔에서 볼 수있는 내용은 다음과 같습니다.

onOpened 

다른 기능은 실행되지 않았습니다. appengine 실행기의 로그에 지연 기능이 실행 중이며 오류나 경고를 발생시키지 않는 것으로 나타납니다.

프런트 엔드에 아무 것도 나타나지 않았기 때문에 내가 뭘 잘못 했는가? 이것은 dev-server BTW에 있습니다. 아직 프로덕션에서는 시도하지 않았습니다.

프레임 워크는 차이점이 있으면 플라스크입니다.

답변

4

channel_token이 아닌 client_idsend_message으로 전달합니다. 그래서 코드는 다음과 같아야합니다

channel.send_message('aosasdf123', message) 

당신은 채널을 열기위한 channel_token 클라이언트 측을 배치하고, 채널을 통해 해당 클라이언트에 메시지를 전송하는 서버 측에 CLIENT_ID 비밀을 유지.

+0

많은 감사. 나는 내가 놓친 바보 같은 짓이라고 확신했다. –

관련 문제