Подтвердить что ты не робот

Поддерживает ли транзакция передачу данных через веб-узлы?

Я хотел бы использовать бережливость с сервером Java, отправляющим данные в браузер с помощью websockets. Возможно ли это?

4b9b3361

Ответ 1

В экономичности есть две важные вещи: протокол и транспорт. Протокол определяет, как данные преобразуются в поток данных. И транспорт определяет, как эти потоки данных обмениваются между сообщениями entites.

Существует протокол json в экономии, который поддерживается javascript, но, насколько это касается транспорта, я думаю, что Thrift поддерживает только 2 транспорта raw tcp и http. Позже можно использовать для вызова операции на HTTP-сервере и получить результат от него, но не так, как вам нужно.

Я думаю, вы могли бы использовать протокол json, но вам нужно будет свернуть рукава и реализовать свой собственный перенос веб-портов. Это может быть нетривиальной задачей.

Ответ 2

В соответствии с этой проблемой: https://issues.apache.org/jira/browse/THRIFT-2355 Потребовалась поддержка веб-сокетов в компиляторе javascript для версии 0.9.2.

Ответ 3

По состоянию на v.0.9.0 Thrift ответ отрицательный.

На стороне клиента генерируемый javascript использует AJAX для транспортировки, как показано в библиотеке Thirft.js, поэтому, если клиент должен использовать WebSocket, тогда необходимо изменить транспорт в Thrift.

На стороне сервера код Java показывает сервер сокета, но я считаю, что он не требует установления связи, необходимого для кода на стороне сервера WebSocket. Опять же, вероятно, можно добавить несколько легко. Вероятно, для вас больше смысла использовать jWebSocket в качестве вашего сервера и классов объектов Java, созданных бережливо, чем версия сервера Thrift. Вы можете проверить код, чтобы лучше узнать его в Thrift. см./lib/java/src/org/apache/бережливость/часть ствола в Thrift.