2014-09-10 30 views
8

Jetty 9, Jetty Websocket API'sinin yanı sıra JSR 356 API'sinin yanı sıra, tarihsel nedenlerden dolayı Jetty Websocket API'sini de destekler (Jetty'nin API'si precedes, final JSR 356).Jetty WebSocket api ve standart JSR 356 API'si

Bazı API'lerin yanı sıra bazı API'ların temel belgelerine baktım. Her iki API da oldukça tamamlanmış ve oldukça benzer görünmektedir. Ancak, yazdığım yeni bir proje için diğerini seçmem gerekiyor ve gelecekte kullanımdan kaldırılmış olabilecek veya daha az özellik bakımından zengin olabilecek bir API kullanmaktan kaçınmak istiyorum.

Bu nedenle, bir tanesi standartlaştırılmış olanın açık olması dışında, ikisi arasında önemli farklar var mı? Burada İskelesi :) üzerinde hem

cevap

13

Uygulatıcı

İskele WebSocket API

ilk geldi ve JSR-356 API bunun üzerine inşa edilmiştir.

JSR-356 API böyle

  • Dekoder otomatik Bin/Metin dönüşüme Nesne

    olarak İskelesi WebSocket API değildir yaptığı bir kaç şey yapar
  • Encoder en Bin/Yazı dönüşüm otomatik Nesne için
  • Yol Param taşıma (aka otomatik URI Şablon yöntemi param için haritalama)

Ancak JSR-356 API olamaz şeyler yapabilirsiniz İskelesi WebSocket API. HttpServletRequest erişimi olan WebSocket son nokta keyfi yaratılması için

  • WebSocketCreator mantığı
  • yönetebilirsiniz
  • WebSocket Uzantıları
  • Reg- zaman aşımı daha iyi denetim
  • Ince tampon/bellek yapılandırmaları destekler
  • son nokta için ex tabanlı yol eşlemeleri
  • Ham Frame olaylarına erişim
  • WebSocket client supp orts iyi zaman aşımları ile mantığı bağlamak
  • WebSocket istemci SSL aktiften UpgradeRequest aktif WebSocket Session nesnesi
  • Erişim gelen InetAddress uç nokta bilgisi hem
  • Erişim (JSR-356 bağımsız istemci bunun için hiçbir yapılandırma seçenekleri vardır) destekleyen WebSocket Oturum
  • Oku olayları kontrol akış/uygulamayı bazı temel tcp backpressure izin/devam mantığı askıya destekleyen vatansız uç noktaları için
  • Daha iyi destek nesne
  • Filtre tabanlı veya Servlet tabanlı konfigürasyon (JSR-356 appr oach) Diğer tüm servlet ve filtre işlemeden önce bu, daha fazla ayrıntı istiyorsanız sorunun bu tür stackoverflow için gerçekten uygunsuz olduğu gibi, jetty-users mailing list kullanın lütfen, yardımcı

Umut meydana yükseltme gerektirir.

+1

Mükemmel bir yanıt için teşekkürler.Bu farklılıklardan birkaçını fark ettim (kodlayıcılar/kod çözücüler ve yol parametresi kullanımı gibi), fakat cevabınız * çok * yardımcıdır. Ayrıca, e-posta listenizde daha fazla "evde" olabileceğini kabul etmeme rağmen, sorumun burada tamamen uygunsuz olduğundan emin değilim. Sonuçta, soru öznel değildir ve "yazılım geliştirmeye özgü pratik ve hesap verebilir bir sorun" kategorisinde iyi bir şekilde düşmektedir (http://stackoverflow.com/help/on-topic) – Malt

+0

O zamandan beri bir süredir. Bu yazı, ama eğer benim sormamıza aldırış etmiyorsanız - pong gönderebilmenin nesi yanlış? – misaka