Чтение и запись сокетов из приложения веб-браузера
Есть сервер, с которым мне нужно поговорить, который публикует протокол по 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.
Надеюсь это поможет:)