AppEngine kanál žádné zprávy dorazí

hlasů
0

Snažím se dostat kanálů api práci. To je to, co mám tak daleko:

v pohledu:

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)

a mé šablony:

<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>

Ale jediný výstup jsem si je z OnOpen:

ready to take messages
channel-1788270053-aosasdf123

A v konzole jsem jen vidět:

onOpened

Takže žádná jiná funkce byla spuštěna. Protokoly z rozhraní platformy App Engine odpalovacího zařízení, je zřejmé, že odložené funkce je spuštěn a je příčinou žádné chyby nebo varování.

A teď, co jsem udělal špatně, protože nic se objevil na front-endu. To je na dev-server BTW. Nezkoušel jsem to ve výrobě dosud.

Rámec je baňka v případě, že je nějaký rozdíl.

Položena 05/07/2011 v 23:28
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
4

Minete client_idna send_messagene channel_token. Takže váš kód by měl být:

channel.send_message('aosasdf123', message)

Umístíte channel_token straně klienta k otevření kanálu, a udržet v tajnosti client_id na straně serveru pro přenos zpráv do tohoto klienta prostřednictvím kanálu.

Odpovězeno 05/07/2011 v 23:43
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more