SORU
27 Ocak 2011, PERŞEMBE


Kapanış doğru () HTML5, Javascript, WebSocket

Etrafında HTML5 WebSockets ile oynuyorum. Merak ediyordum, nasıl bağlantı incelikle kapatırım? Gibi, kullanıcı sayfayı yeniler, ya da sadece tarayıcı kapanırsa ne olur?

Bir kullanıcı sadece websocket.onclose olay vuracak yenileme sonra döndüklerinde websocket.close() - çağırmadan sayfayı yenileyin zaman garip bir davranış yoktur.

CEVAP
27 Ocak 2011, PERŞEMBE


protocol spec v76 mevcut desteği ile hayata tarayıcı sürümü) göre:

Bağlantı temiz bir şekilde kapatmak için bir çerçeve sadece bir 0xFF oluşan bayt 0x00 byte tarafından izlenen bir eşin diğer eş bunu sormak için gönderdi. bağlantıyı kapatın.

Eğer bir sunucu yazıyorsanız, sunucu bir istemci bağlantısı kapatıldığında yakın bir çerçeve göndermek için emin olun. Yuva yakın normal TCP yöntemi bazen yavaş olabilir ve uygulamalar bağlantı bile hala açık olduğunu düşünüyorum neden.

Tarayıcı gerçekten ya da sayfayı kapat yeniden ne zaman sizin için bunu yapmak gerekir. Ancak, yakın bir çerçeve beforeunload olay yakalama: yaparak gönderilir emin olun

window.onbeforeunload = function() {
    websocket.onclose = function () {}; // disable onclose handler first
    websocket.close()
};

Sayfa yenilendikten sonra kapanış bir olay oluyor nasıl emin değilim. Websocket nesne (kapanış işleyicisi ile) artık sayfayı yeniden yükler, sonra da var olacak. Eğer hemen denemeye kurmaya WebSocket bağlantı sayfası gibi sayfa yükler, sonra da çalıştırması bir sorun vardır server olduğunu reddeden yeni bir bağlantı bu kadar kısa süre sonra eski olan bağlantısı kesilmiş (ya da tarayıcı değil hazır olun bağlantı noktası çalışıyorsunuz bağlanmak) ve kafanız bir kapanış olay için yeni websocket nesne.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ethr95awd

    ethr95awd

    8 Kasım 2006
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009