Чтение и запись сокетов из приложения веб-браузера

Есть сервер, с которым мне нужно поговорить, который публикует протокол по TCP/IP для запроса данных из базы данных и прослушивания сокета для получения уведомлений при обновлении данных. Северные ребята предоставляют Java API, который использует этот протокол TCP. Это означает, что я мог бы легко написать приложение Swing для общения с этим сервером.

Я хотел бы решение на основе браузера. Как мне известен протокол, могу ли я сделать это на JavaScript? Мое приложение должно будет отображать данные в таблице. Я слышал о веб-сокетах, но не уверен, позволит ли это двустороннее общение. Это возможно? Есть ли лучший способ, который является кроссплатформенным и будет работать в большинстве браузеров? Стоит ли рассматривать решение на основе Java Swing, которое работает внутри браузера?

РЕДАКТИРОВАТЬ: Как насчет изменения кода на моем сервере C++, чтобы добавить дополнительный интерфейс, с которым мой код Javascript может напрямую взаимодействовать с ним?

1 ответ

Протокол WebSocket отличается от сокетов TCP/IP. Вам нужно будет написать что-нибудь, чтобы связать их вместе.

Вы можете сделать это великолепно в JavaScript: используйте Node.js. На эту тему достаточно учебников. Лучший способ связать его с JS в браузере - через Socket.IO.

  • Создайте сервер Node.js, который подключается к API
  • Заставьте сервер общаться с вашим веб-приложением
  • Используй это:)

Это будет работать кроссплатформенно и кросс-браузерно (Socket.IO может использовать / эмулировать веб-сокеты даже в IE6(!!)). Вам придется запустить серверное приложение (приложение Node.js).

Мое личное мнение таково: если вам нужно решение на основе веб / браузера, вы должны использовать нативную технологию, а не Java.

Надеюсь это поможет:)

Другие вопросы по тегам