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
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.
HTML5/Canvas kullanarak ekran görüntül...
Kendinden kapanış etiketleri HTML5 geç...
JavaScript / ses efektleri HTML5...
Javascript Dize Eşitlik...'doğru ...
HTML5/Javascript oluşturmak ve bir dos...