Ağa robot için hatasızlık

3 Cevap php

Ben bir tarayıcı aracılığıyla ben kontrol ediyorum bir robot var. Onboard bilgisayarda barındırılan vb, ters, ileri gitmek için düğmeleri ile bir sayfa PHP ile yazılmış. PHP sadece bir mikroişlemci için bir seri bağlantı üzerinden ASCII karakterleri gönderiyor. Her neyse, ben sürüş kişi bağlantısı kesilirse, robot durdurmak böylece Güvenlikli uygulamak gerekiyor. Ben yapmak için düşünebilirsiniz tek şey web sayfası ya da bir şey üzerinde kişi ping için, ama ben bundan daha iyi bir yol olduğundan emin değilim. Robot ya bir ad hoc ağ veya internete bağlı bir düzenli kablosuz ağ üzerinden bağlı. Ben ping yöntemi ile gitmek Açıkçası eğer gerçek zaman kesilir ve o anlar ne zaman kesildi oluyor arasında bir gecikme olması gerekir. Ben bu gecikme yöntem ne olursa olsun, mümkün olduğunca küçük olmak istiyorum. Bunu yapmak konusunda herhangi bir fikir takdir ediyorum.

3 Cevap

Ben robot üzerinde bir sunucuya bir socket connection açmak için web tarayıcısında gömülü basit bir flash nesnesi kullanabilirsiniz önerebilir miyim? Hatta PHP (öksürük) - Sunucu uygun herhangi bir dilde yazılmış olabilir.

Sonra bağlantı battığında hemen algılar, ve fail-safe yaklaşımı uygulamak için basit bir konudur.

HTTP robot kontrolü için ideal bir protokol değildir.

İyi şanslar!

Bir web istemcisi ping istemci ip değişebilir ki, sizi dikkate almak zorunda için, biraz güvenilmez.

Diğer yandan, Ajax ile bir "ölü-man-düğme" taklit olabilir. Web sayfası tanımlı komutu her şimdi ve sonra (belki de her 5 ila 10 saniye) yollayalım. Robot bir süre mesajı almazsa, bu durdurabilirsiniz. Kontrol kullanıcı bile bir şey fark olmayacak şekilde Ajax komut arka planda çalıştırabilirsiniz.

Bu, elbette robot her saniye artan ve mesaj alındığında sıfırlanır bir sayaç olması gerektiğini anlamına gelecektir. An zamanlayıcı değişken çok yüksek, FULL STOP

Aklıma Tüm HTML ki "ping" Sunucu her X saniyede ajax kod eklemektir. Ben Facebook Chat çevrimiçi hala olup olmadığını bilmek ne inanıyorum.

HTML 5 Web yuva aradığınız çözüm olabilir ama bunu kullanıcıların tarayıcılarının çoğu tarafından hayata olmayacağını göz önünde bulundurmanız gerekir.

Bu makalede ilginç bulabilirsiniz: http://www.infoq.com/news/2008/12/websockets-vs-comet-ajax.