2014-07-01 25 views
0

我想創建一個SSE事件流與解析CloudCode,以便它可以使用從一個SparkCore發送的數據。如果嵌入到網頁中,我可以正常工作,但我只是不確定如何執行解析CloudCode。這裏是JavaScript的,我有工作:SSE事件流與解析CloudCode

document.getElementById("uptime").innerHTML = "Waiting for data..."; 

var deviceID = "XXXXXXXXXXXX"; 
var accessToken = "XXXXXXXXXXXX"; 
var eventSource = new EventSource("https://api.spark.io/v1/devices/" + deviceID + "/events/?access_token=" + accessToken); 

eventSource.addEventListener('open', function(e) { 
    console.log("Opened!"); },false); 

eventSource.addEventListener('error', function(e) { 
    console.log("Errored!"); },false); 

eventSource.addEventListener('Uptime', function(e) { 

     var parsedData = JSON.parse(e.data); 
     var tempSpan = document.getElementById("uptime"); 
     var tsSpan  = document.getElementById("tstamp"); 

     //Display data on webpage 
     tempSpan.innerHTML = "Core:" + parsedData.coreid + " | Data: " + parsedData.data; 
     tempSpan.style.fontSize = "28px"; 

     tsSpan.innerHTML = "At timestamp " + parsedData.published_at; 
     tsSpan.style.fontSize = "9px"; 

}, false); 

我會非常想要做的是採取parsedData.data和我解析數據庫中創建一個新的行。

解析支持SSE流嗎?

+0

您可以運行自己的中間人機器將sse消息轉換爲解析事件 – dandavis

+0

解析此時不支持流/套接字。 – Fosco

+0

@dandavis所以你說你要設置一個運行SSE流的中間人,當我碰到那裏時,創建一個解析事件來調用Parse CloudCode中傳遞數據的函數?我的網絡腳本知識是尷尬有限的。 – random

回答

0

隨機,我會說不。 SSE協議要求您發送REST Get請求,然後無限期地監聽入站TCP流以捕獲連續發送的JSON對象流。我會想象Parse中的REST客戶端實現不處理這種未知/不確定的響應長度。 I