有沒有辦法獲得服務器時間而無需首先設置它?例如,我可以簡單地做:檢索Firebase服務器時間而不先設置它
curl -X PUT -d '{".sv": "timestamp"}' https://SampleChat.firebaseIO-demo.com/servertime.json
將返回該服務器的時間,但是這臺我的火力實例中的值servertime
。我應該注意到我正在使用REST API。
有沒有辦法獲得服務器時間而無需首先設置它?例如,我可以簡單地做:檢索Firebase服務器時間而不先設置它
curl -X PUT -d '{".sv": "timestamp"}' https://SampleChat.firebaseIO-demo.com/servertime.json
將返回該服務器的時間,但是這臺我的火力實例中的值servertime
。我應該注意到我正在使用REST API。
您可以檢索服務器時無需使用.info/serverTimeOffset寫它:
var fbRef = new Firebase(URL);
var getServerTime = (function(ref) {
var offset = 0;
ref.child('.info/serverTimeOffset').on('value', function(snap) {
offset = snap.val();
});
return function() {
return Date.now() + offset;
}
})(fbRef);
var now = getServerTime();
火力地堡是所有關於客戶端到客戶端通信。我不認爲它現在暴露了它的服務器端時間。 –
@FrankvanPuffelen對於放入firebase的條目,您可以使用上面的JSON或使用'Firebase.ServerValue.TIMESTAMP'(請參閱:https://www.firebase.com/docs/managing-presence.html) - 我可以做的很好,但我不想寫實際的服務器時間,我只想得到它。上面的解決方案工作正常,我只是想能夠做到這一點,而不必寫/刪除值。 – Prisoner
我面臨同樣的問題,它看起來只需要放置佔位符的虛擬時間戳字段,而不是在服務器將其更改爲實時時間戳時收聽它。如果你有多個用戶或應用程序要求它必須是虛擬的領域,因爲他們可以競爭一個。 – webduvet