Как я определяю свой собственный SelectableChannel?

Похоже, вы не установили pyopenssl. Установить через easy_install pyopenssl.

Libraries oauth2client.client
if HAS_OPENSSL:
  # PyOpenSSL is not a prerequisite for oauth2client, so if it is missing then
  # don't create the SignedJwtAssertionCredentials or the verify_id_token()
  # method.

  class SignedJwtAssertionCredentials(AssertionCredentials):
....
6
задан Gili 26 May 2009 в 17:15
поделиться

2 ответа

Насколько я понимаю, реализация java основана на функции unix select () c (я, кажется, помню, что реализация Windows была немного другой)

В зависимости в ОС (и аргументах JVM!) вызываются разные собственные функции ОС, но их объединяет то, что это собственный код - базовая функциональность не реализована в Java.

Если вы хотите создать библиотеку, обращающуюся к select () (или аналогичный) базовой ОС (которая действительно полагается на дескрипторы файлов), я думаю, вы в значительной степени вынуждены использовать JNI. Я не верю, что есть какие-то способы обойти это.

Selector / SelectableChannel в Java на самом деле является анемичным подмножеством того, что может select () .

3
ответ дан 17 December 2019 в 04:51
поделиться

Вы, вероятно, захотите расширить java.nio.channels.spi.AbstractSelectableChannel до создайте ту реализацию, которая вам нужна. Если вы просите чего-то другого, нужно задать более подробный вопрос. Исходный код JDK можно загрузить под несколькими разными лицензиями, в зависимости от того, какую версию вы загружаете. У вас есть возможность просмотреть реализации JDK ( java.nio.channels.Channel , java.nio.channels.SocketChannel и т. Д.), Чтобы полностью понять, что вам нужно воплощать в жизнь. Однако, если вы это сделаете, будьте осторожны, чтобы не копировать код из исходного кода JDK, если вы не можете подчиняться лицензии исходного кода, который вы скачали.

Книга Java NIO может вам помочь.

] SocketChannel и т. Д.), Чтобы полностью понять, что вам нужно реализовать. Однако, если вы это сделаете, будьте осторожны, чтобы не копировать код из исходного кода JDK, если вы не можете подчиняться лицензии исходного кода, который вы скачали.

Книга Java NIO может вам помочь.

] SocketChannel и т. Д.), Чтобы полностью понять, что вам нужно реализовать. Однако, если вы это сделаете, будьте осторожны, чтобы не копировать код из исходного кода JDK, если вы не можете подчиняться лицензии исходного кода, который вы скачали.

Книга Java NIO может вам помочь.

]
2
ответ дан 17 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: