По умолчанию [значения] массива, определенного внутри функции (то есть локального массива), являются неопределенными. Глобальные (то есть статические) переменные по умолчанию инициализируются равными 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]);
}
}
.
Ознакомьтесь с реализацией Restlet, он может делать то, что вам нужно, и все дело в NIO.
В частности, HttpClientCall. SetProtocol (HTTPS) - getResponseEntityChannel возвращает ReadableByteChannel (getEntityChannel возвращает WriteableByteChannel)
Jetty имеет реализацию SSL NIO для своего сервера: SslSelectorChannelConnector . Вы можете взглянуть на него, чтобы узнать подробности о том, что он делает.
Есть также старая (но достойная) статья из O '
Не уверен, что это то, что вы ищете, но может помочь ... Для создания серверных сокетов с поддержкой 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