Güncellemeleri Kontrol Et
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
/osc/checkForUpdates API, durum güncellemelerini, istemcinin bilinen son stateFingerprint değeri ile kameranın mevcut fingerprint değerini karşılaştırarak tanımlar.
| Ad |
Tür |
Açıklama |
stateFingerprint |
Dize |
İstemcinin /osc/state veya /osc/checkForUpdates adlı son aramasından alınan kamera durumu parmak izi. |
waitTimeout |
Tam sayı (isteğe bağlı) |
Yanıtı döndürmeden önce kamerada durum değişikliğinin gerçekleşmesi için beklenecek saniye sayısı. waitTimeout geçerlilik süresi sona erdiğinde, parmak izi değişmemiş olsa bile kamera yanıt döndürür. waitTimeout süresi dolmadan önce bir durum değişikliği algılanırsa veya waitTimeout atlanırsa kamera hemen yanıt döndürür.Not: Parmak izi değişmemiş olsa bile kamera, waitTimeout süresi dolmadan önce yanıt döndürebilir. Ancak en iyi uygulama, waitTimeout ürününün süresinin dolmasını beklemektir. |
Kamera uygulama notları:
- Bu çağrı alındıktan sonra kamera, mevcut durum parmak izini alınan
stateFingerprint parametresiyle karşılaştırır. Parmak izi değiştiyse kameranın yeni parmak izini hemen iade etmesi gerekir.
Çıkış
| Ad |
Tür |
Açıklama |
stateFingerprint |
Dize |
Kamera durumunun yeni parmak izi (/osc/state API'dekiyle aynı). |
throttleTimeout |
Tamsayı |
Müşterinin bir sonraki checkForUpdates aramasından önce beklemesi için önerilen saniye sayısı. Müşteriler, throttleTimeout süresi dolmadan önce istekte bulunabilir ve mümkünse kameralar bu erken isteklere izin vermelidir. |
Müşterinin uygulama notları:
- Müşteri yanıt aldıktan sonra, alınan
stateFingerprint öğesini kopyasıyla karşılaştırmalıdır. Bunlar eşleşmiyorsa istemci, _/osc/state API'yi kullanarak kameranın mevcut durumunu istemelidir.
- Akıllı istemciler, kameranın yanıtından bağımsız olarak istekleri kısıtlar. Örneğin, bir kamera standart olmayan bir yanıt verirse (hemen, değişiklik yok ve düşük veya 0
throttleTimeout) ile) istemci, kameradan başka bir checkForUpdates istemeden önce kendi throttleTimeout değerini uygulamalıdır.
Kamera uygulama notları:
- Kamera,
checkForUpdates adlı kullanıcıya yanıt verirken makul bir throttleTimeout belirlemelidir. Kamera uzun süreli istek mantığını destekliyorsa (yalnızca durum değişmediyse waitTimeout sonrasında yanıt verir) throttleTimeout öğesi 0 olarak döndürülebilir. Bu durumda, müşteriler hemen güncelleme isteğinde bulunabilir.
- Kamera yalnızca hızlı yanıtları destekliyorsa (önerilmez), istemciyle sürekli istek/yanıt trafiğini önlemek için makul bir
throttleTimeout döndürmelidir. Örneğin, dakikada bir istemci isteğine izin vermek için makul bir throttleTimeout 60 saniyedir.
- En iyi uygulama kameranın özelliklerine uygun bir
throttleTimeout döndürmektir. Sunucu, sunucu sorunu nedeniyle uygun bir throttleTimeout belirleyemezse kamera, 5XX durum koduyla ve serverError hata kodu içeren bir JSON gövdesiyle yanıt vermelidir.
Hata
| Hata kodu |
Açıklama |
missingParameter |
stateFingerprint belirtilmemiş. |
invalidParameterName |
Bir veya daha fazla giriş parametresi adı tanınmıyor. |
invalidParameterValue |
Parametre adları tanındı ancak bir veya daha fazla değer geçersiz; Örneğin, waitTimeout aralık dışında veya türü yanlış. |
serverError |
Sunucu, yanıtı için uygun bir throttleTimeout değeri belirleyemedi. Sunucu sorunu, yanıtta döndürülen 5XX değeriyle belirlenir. Fotoğraf makinesi üreticileri, bu hataya neden olabilecek 5XX kodları ve ilgili sunucu durumlarını içeren bir tablo sağlamalıdır. |
Örnek |
| İstek |
POST /osc/checkForUpdates HTTP/1.1
Host: [camera ip address]:[httpUpdatesPort]
Content-Type: application/json;charset=utf-8
Accept: application/jsonContent-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1
{
"stateFingerprint": "12EGA33",
"waitTimeout": 300
} |
| Yanıt |
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff
{
"stateFingerprint": "12EGA86",
"throttleTimeout": 60
} |
| İstek |
POST /osc/checkForUpdates HTTP/1.1
Host: [camera ip address]:[httpUpdatesPort]
Content-Type: application/json;charset=utf-8
Accept: application/jsonContent-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1
{
"stateFingerprint": "12EGA33",
"waitTimeout": 300
} |
| Yanıt |
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff
{
"name": "camera.checkForUpdates",
"state": "error",
"error": {
"code": "missingParameter",
"message": "parameter stateFingerprint is missing."
}
} |
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-25 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-25 UTC."],[],["The `/osc/checkForUpdates` API checks for camera state changes. The client sends its `stateFingerprint` and an optional `waitTimeout`. The camera compares the received `stateFingerprint` with its current one, immediately returning the new fingerprint if changed. The camera also returns a `throttleTimeout` suggesting how long the client should wait before its next check. If the fingerprints match or after the wait time expires, a response is sent. Clients then request the current state if fingerprints don't match.\n"]]