2014-09-10 4 views
8

Jetty 9 поддерживает both собственный API Jetty Websocket, а также стандартный API JSR 356, поскольку я предполагаю, что это исторические причины (API-интерфейс Jetty) final JSR 356).Jetty WebSocket api по сравнению со стандартным API JSR 356

Я рассмотрел базовую документацию обоих API, а также некоторые примеры. Оба API кажутся довольно полными и похожими. Тем не менее, мне нужно выбрать один из них для нового проекта, который я пишу, и я бы хотел избежать использования API, который может быть устарел в будущем или может оказаться менее функциональным.

Значит, существуют ли какие-либо важные различия между ними, за исключением очевидного факта стандартизации?

ответ

13

Implementor обоих на Jetty здесь :)

причалу WebSocket API пришел первым, и JSR-356 API построен на вершине.

JSR-356 API делает несколько вещей, что Jetty WebSocket API не делает, такие как

  • Decoder для автоматического Bin/Текст для объекта Конверсиям
  • кодировщика для автоматического объекта к бен/преобразование текста
  • Путь Param обработка (так называемый автоматический URI Шаблон для метода отображение пар)

Однако Jetty WebSocket API может делать то, JSR-356 API не может.

  • WebSocketCreator логика для произвольного создания WebSocket конечной точки, с доступом к HTTPServletRequest
  • Better контроль тайм-аута
  • конфигураций
  • Finer буфер/память
  • Вы можете управлять WebSocket Extensions
  • Поддержка Регуляр- ex на основе сопоставлений пути для конечных точек
  • Доступ к необработанным событиям Frame
  • Клиент WebSocket supp орты лучше подключить логику таймаутов
  • WebSocket клиент поддерживает SSL (JSR-356 автономного клиент не имеет параметров конфигурации для этого)
  • Доступа к информации, так конечной точки InetAddress от активного WebSocket объекта Session
  • доступа к UpgradeRequest от активного WebSocket Session объект
  • Улучшенная поддержка для лиц без конечных точек
  • прочитанной события поддержки приостановки/возобновления логики, чтобы позволить приложению некоторые основные TCP противодавление/управление потоком
  • фильтр на основе или конфигурации на основе сервлетов (в JSR-356 провер тренере требует обновления произойти до всех других сервлет и фильтров обработки)

Надеется, что это помогает, если вы хотите более подробную информации, пожалуйста, используйте jetty-users mailing list, поскольку такого рода вопрос действительно подходит для StackOverflow.

+1

Спасибо за отличный ответ.Я заметил некоторые из этих различий (например, кодировщики/декодеры и обработка параметров пути), но ваш ответ очень * полезен. Я также не уверен, что мой вопрос здесь совершенно неуместен, хотя я согласен с тем, что он может чувствовать себя «дома» в вашем списке рассылки. В конце концов, вопрос не субъективен и подпадает под категорию «практической, ответной проблемы, которая уникальна для разработки программного обеспечения» (http://stackoverflow.com/help/on-topic) – Malt

+0

Прошло некоторое время с тех пор, этот пост, но если вы не возражаете, я спрашиваю: что случилось с возможностью отправлять понг? – misaka

Смежные вопросы