Websocket или родные сокеты для Google Appengine с Java 8? - PullRequest
0 голосов
/ 18 мая 2018

В настоящее время я использую HTTP Long Polling для системы пользовательских сообщений и уведомлений моего веб-приложения на основе Java 8 (стандартная среда) в Google AppEngine.Я хотел бы реализовать это с помощью Socket API.

Вкл. Документация Google об API Java Sockets, которую он упоминает:

Важное замечание: Приложения в среде выполнения Java 8 могут использовать собственные сокеты Java без ограничений, включая использование классов NIO и их методов.

Так что я немного запутался относительно того, что именно я должен использовать, веб-сокеты или нативные сокеты Java?Есть разница, верно?По-видимому, среда исполнения Java 8 значительно изменила API сокетов, поэтому можно использовать собственные сокеты Java вместо веб-сокетов?

Ответы [ 2 ]

0 голосов
/ 20 мая 2018

Среда выполнения Java 7, , которая в настоящее время устарела , представляет собой специальную изолированную среду.Таким образом, он имеет много ограничений в отношении того, что вы можете сделать с его JVM, например, в отношении потоков, доступных классов из стандартной библиотеки Java, сокетов, менеджера безопасности и т. Д.

Среда выполнения Java 8 имеетсовершенно другая инфраструктура, и большинство ограничений было снято.Он поддерживает стандартную общедоступную библиотеку Java (которая, конечно, включает в себя собственные сокеты Java и NIO), а не только их подмножество в белом списке, как во время выполнения Java 7.Цитата из документа, на который вы ссылаетесь, просто рекламирует превосходство среды исполнения Java 8 над средой исполнения Java 7.

Я бы сказал, что вам решать, будете ли вы использовать нативный сокет Java.Использование стандартной библиотеки Java не будет плохой вещью, по крайней мере.

РЕДАКТИРОВАТЬ: эти дополнительные документы также могут представлять интерес для вас:

0 голосов
/ 18 мая 2018

В этой конкретной документации Google говорится о создании java-клиента на сервере веб-сокетов вне вашего приложения, поэтому в нем говорится о java 8 nio.Также примеры, приведенные на этой странице (https://github.com/googlearchive/appengine-sockets-python-java-go/tree/master/java_socket_demo), показывают, как создать клиент веб-сокета для запроса DNS-сервера.

Теперь, если вы хотите предоставить веб-сокет из вашего Java-приложения, я не смог бынайти любую документацию в документации Google.

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