SSL и SocketChannel

По умолчанию [значения] массива, определенного внутри функции (то есть локального массива), являются неопределенными. Глобальные (то есть статические) переменные по умолчанию инициализируются равными 0. Смотрите этот пост: Начальное значение массива int в C

. Для решения вашей проблемы просто инициализируйте ваш массив вручную, например,

for (int r=0;r<2;r++)
{
    for (int c=0; c<3; c++) {
        mrr[r][c] = 0;
        printf("[%d],[%d]:%d\n",r,c,mrr[r][c]);
    }
}

.

13
задан lucian.pantelimon 9 October 2012 в 13:41
поделиться

3 ответа

Ознакомьтесь с реализацией Restlet, он может делать то, что вам нужно, и все дело в NIO.

Restlet Engine Javadoc

В частности, HttpClientCall. SetProtocol (HTTPS) - getResponseEntityChannel возвращает ReadableByteChannel (getEntityChannel возвращает WriteableByteChannel)

0
ответ дан 2 December 2019 в 01:49
поделиться

Jetty имеет реализацию SSL NIO для своего сервера: SslSelectorChannelConnector . Вы можете взглянуть на него, чтобы узнать подробности о том, что он делает.

Есть также старая (но достойная) статья из O '

5
ответ дан 2 December 2019 в 01:49
поделиться

Не уверен, что это то, что вы ищете, но может помочь ... Для создания серверных сокетов с поддержкой SSL / TLS я сейчас использую такой код следующее (keystore.jks содержит самоподписанную пару закрытого / открытого ключей, используемую для защиты подтверждения) - у клиентов есть аналогичное хранилище доверенных сертификатов, которое содержит подписанный сертификат с открытым ключом этой пары.

Немного погугливания, чтобы настроить эту настройку, должно помочь вам.

String keyStorePath = "keystore.jks";
String keyStorePassword = "password";

KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
KeyStore keyStore = new KeyStore();
keyStore.load(new FileInputStream(keyStorePath), keyStorePassword);
keyManagerFactory.init(keyStore, keyStorePassword.toCharArray());

sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManagerFactory.getKeyManagers(), null, new SecureRandom());

SSLContext sslContext = getServerSSLContext(namespace.getUuid());
SSLServerSocketFactory serverSocketFactory = sslContext.getServerSocketFactory();

// Create sockets as necessary
0
ответ дан 2 December 2019 в 01:49
поделиться
Другие вопросы по тегам:

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