2008-10-03 24 views
10

HTTP Streaming Comet ile, veriyi sunucudan aktarıldıktan sonra bağlantıyı kapatmayan "sonsuza kadar iframe"/"sonsuza dek xhr" varyasyonları, standart yoklama ve uzun bir yoklama yerine yeni bir bağlantıyı ve yeniden gönderme yerine Her sunucu itme olayı için istek.Http Streaming Comet, Safari'de mümkün mü?

dojo.io.cometd paketine baktım ve yalnızca yoklama uygulamaları var gibi görünüyor. Aynı zamanda this example'u da buldum, ama bu, web kamerada çalışmamıza rağmen, birazcık tökezledikten sonra bile işe yaramaz gibi görünmüyor (her yerde çalışmaya başladım). This announcement from the safari blog, xhr ile mümkün olduğunu öne sürüyor, ancak herhangi bir kod ya da belge bulamadım ya da işe yaramadı.

Webkit tarayıcılarında (Safari ve Chrome) HTTP akışını belirleyen bir teknik, komut dosyası, kitaplık veya demo kullanan herhangi biri var mı?

  • tepki ihtiyaçları: Güncelleme

    biraz daha müdahalesi sonra XHR'nin yoluyla Safari'de çalışan http akışı almak için yapılması gereken iki şey vardır bulundu İçerik Türüne sahip olmak için: multipart/x-mixed-replace

  • Tarayıcı, güncellemeleri tutarlı bir şekilde göstermeye başlamadan önce yanıtın birkaç "gürültü" karakteri göndermesi gerekir. Bunun, bazı dahili arabelleğin doldurulmasıyla ilgili bir şey olduğunu varsayarak düşünüyorum.

Güncelleme 2

Sonunda bir iframe tekniği kullanılarak tüm tarayıcılarda çalışmak lazım. Çözümün uyarısı, yalnızca WebKit tabanlı tarayıcıların, çok parçalı/x karışık değiştirilen üstbilgiyi alması gerektiğidir.

+0

gerçekten yararlı aşağıdaki makalelere buldunuz, hala Safari'de çalışmalarını akışı HTTP alabilirsiniz. Sadece kendin ayrıştırmak zorundasın. –

+0

@Leo: Http Streaming özelliğini etkinleştiren kod parçacıklarını tüm tarayıcılarda paylaşmanız mümkün mü? Bu benim ve toplum için yararlı olmalı. Teşekkürler. – ManKum

cevap

4

Vikipedi'ye göre, her tarayıcıda HTTP Streaming comet'inin olması gerekiyor. "Çerçeveler Olmayan Sayfa Düzeni", Ajax: Kesin Kılavuz. O'Reilly Media, s. 320. ISBN 0596528388, bu bilgi için alıntı yapılan referanstır, bu yüzden belki de bu kitabın nasıl yapılacağına dair bir öneri vardır.

Ayrıca, http://meteorserver.org/'un Chrome'da, istemci tarafında bir istemci kütüphanesi + istemciye veri gönderen bir sunucuda çalıştığını doğruladığım bir demo var.

3

Kesinlikle mümkün: GMail bunu yapıyor. En son Webkit'te geliştirici araçlarının Kaynaklar bölümünü izlerseniz, onu hareket halinde izleyebilirsiniz. Onlar, daha fazla veya daha az süresiz olarak açık kalmaya çalışan "bağ" adı verilen bir istekleri var. Anladığım kadarıyla, yeni posta geldiğinde, bu bağlantıya rastlıyor.

3

Evet.

Safari'nin davranmasını sağlamak için yanıtın ön tarafında include a large amount (en az 256 bayt) önemsiz önem taşımalıdır. Bu bir eski sonrası olmasına rağmen