Простой (Java, Javascript) запуск на веб-сокетах - PullRequest
2 голосов
/ 25 мая 2011

Я хотел бы найти хорошее (современное) начальное учебное пособие по типу Java Trail для Websockets, содержащее как код клиента Javascript, так и код сервера Java (который на самом деле работает).На стороне сервера, если все, что мне нужно сделать, это создать простой сервер сокетов или что-то в этом роде, скажите, пожалуйста.До сих пор я не нашел ничего (хотя я гуглил в течение нескольких часов), которое предоставляет основную базовую информацию, подобную этой (за исключением клиентской части, которая, по-видимому, очень проста).

Я не заинтересован в использованиисуществующие серверные системы Websocket (кроме как начать с простого копирования-вставки из простого руководства).Если вам интересно, я расскажу вам почему ниже.

У меня есть проект с открытым исходным кодом, который просил HTML5 задолго до его начала (от его первоначальной концепции много лет назад).Получение двусторонней связи через Websockets в отличие от длинных опросов, вечных кадров и т. Д. Выглядит для меня победителем.Текущая версия программного обеспечения (фреймворка) HLL"light" - с моим типичным акцентом на не перетаскивание дополнительного кода.Он использует только Java SE, хотя я намерен создавать версии с использованием EE-коммуникаций.В настоящее время я могу легко установить весь фреймворк, оставив место для компонентов приложения на небольших устройствах, таких как мобильные телефоны.

  1. Мне нужен минимальный код.
  2. Я горжусь тем, что понимаю всекод в системе.
  3. Я думаю, что это смерть для нового проекта с открытым исходным кодом, если вы должны сказать людям, которые хотят попробовать его, что они должны загрузить и установить все виды другого кода с открытым исходным кодом, чтобы сделатьэто.
  4. Я не хочу, чтобы мой код подвергался изменениям в чужом коде.
  5. Это действительно не должно быть таким уж сложным - если я просто найду правильную документацию.

ОБНОВЛЕНИЕ: мне больше не нужен простой учебник по веб-сокетам.Я уже на пути к созданию сервера веб-сокетов производственного класса, и у меня есть очень хороший браузерный клиент для тестирования.Сейчас я создаю клиент, не основанный на браузере.Кстати, создание многопользовательского сервера веб-сокетов, реализующего полный стандарт, не так просто.(Оглядываясь назад - неудивительно, что я не получил никаких ответов.) И если он собирается работать в качестве автономного сервера для клиентов на основе браузера, ему нужен http (по крайней мере, для предоставления веб-страниц) и другие вещи.Не проект для слабонервных или тех, у кого мало времени для этого.

Ответы [ 2 ]

3 голосов
/ 07 сентября 2011

С момента первой публикации я строю свой собственный сервер WebSocket. Мечты о том, чтобы все это было просто быстро прошло Я, однако, подхожу достаточно близко, чтобы упомянуть слово «релиз», как в бесплатной бета-версии для всех, кто хочет сервер веб-сокетов. (Заметьте, я просто «упомянул» это слово - я еще как минимум через пару недель.) Это многопользовательский сервер, легкий и кричащий. В конечном итоге я добавлю поддержку http, поэтому для доставки веб-страниц не потребуется никакого другого сервера (WebSockets в любом случае обновляет http-соединения). Я также буду добавлять функциональность HLL. Прежде всего, это упростит приложение. Несмотря на то, что я постоянно работал над поддержанием «легкого» статуса, вся эта комбинация была жизненной амбицией, и я верю, что разработчики найдут ее удивительной для создания чего-либо от простых и прямых до крупномасштабных сложных, распределенных, интеллектуальных систем.

Я использовал самую последнюю версию стандарта, которая является окончательной черновой версией, и, вероятно, будет очень близка, если не будет совпадать с окончательным стандартом; Версия 1. Пока что он работает с Chromium (Chrome dev) и Firefox. Однако в их WebKit, по-видимому, есть некоторый код, обеспечивающий поддержку других браузеров. Я еще не пробовал это. С помощью браузера я установил соединение и передаю текстовые сообщения (большие и маленькие) туда и обратно. Это все, что я обнаружил до сих пор, что браузер обрабатывает. Я полагаю, что поддержка очень больших текстовых «сообщений» действительно будет использоваться только для передачи файлов в сочетании с возможностями локального хранения HTML5. Я еще не пробовал это. Двоичные передачи, вероятно, будут связаны с потоковым видео и аудио HTML5 в какой-то момент, но я пока не сталкивался с упоминанием об этом.

В настоящее время я работаю над Java-клиентом, который будет поддерживать полный стандарт, включая пинг и двоичную передачу, передачу файлов - весь шарик воска. Большая часть того, что мне нужно, уже создана для сервера и его приложения «эхо», которое включает в себя отправку сообщений так же, как клиент. Затем я вернусь к некоторым из моих самых ранних работ, чтобы сделать обобщение при добавлении новой функциональности. Я думаю, что наличие одного или нескольких клиентов веб-сокетов Java в приложениях будет хорошей вещью во многих случаях. И это даст все возможности веб-браузеров, когда они к этому готовы.

Я также знаю, что Opera довольно популярна среди энтузиастов HTML5. Я фактически начал использовать версию стандарта, которую они поддерживают, поэтому не должно быть сложностей добавить ее. (Просто дурачусь, пытаясь найти свой путь - и получаю материал, специфичный для этой версии.) У меня есть серьезный соблазн потратить время на то, чтобы добавить поддержку для этой версии, даже если она станет полностью устаревшей в течение нескольких месяцев. Просто Opera очень хороша в других вещах HTML5, и ее использует большая толпа энтузиастов. С другой стороны, они в основном работают на стороне браузера-клиента, и я не знаю, будут ли они сильно участвовать в создании серверных приложений.

1 голос
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...