Я использую сервер Apache Thrift, написанный на Java. Когда я создаю ServerSocket, я передаю параметр под названием clientTimeout со значением 60000 (десять минут). Но это не работает, как ожидалось - я подключился к серверу, выполнил метод, подождал 11 минут, выполнил метод снова без повторного подключения и не получил ошибку (как я и ожидал).
Я пытаюсь сделать это на сервере не SSL, это работает нормально.
В экономичных источниках я нашел способ создания сокета SSL, кажется, все в порядке.
private static TServerSocket createServer(SSLServerSocketFactory factory, int port, int timeout, boolean clientAuth,
InetAddress ifAddress, TSSLTransportParameters params) throws TTransportException {
try {
SSLServerSocket serverSocket = (SSLServerSocket) factory.createServerSocket(port, 100, ifAddress);
serverSocket.setSoTimeout(timeout);
serverSocket.setNeedClientAuth(clientAuth);
if (params != null && params.cipherSuites != null) {
serverSocket.setEnabledCipherSuites(params.cipherSuites);
}
return new TServerSocket(serverSocket);
} catch (Exception e) {
throw new TTransportException("Could not bind to port " + port, e);
}
}
есть у кого такая проблема? Как это исправить?