Example usage for javax.net.ssl SSLSocket setReuseAddress

List of usage examples for javax.net.ssl SSLSocket setReuseAddress

Introduction

In this page you can find the example usage for javax.net.ssl SSLSocket setReuseAddress.

Prototype

public void setReuseAddress(boolean on) throws SocketException 

Source Link

Document

Enable/disable the SocketOptions#SO_REUSEADDR SO_REUSEADDR socket option.

Usage

From source file:ucar.httpservices.CustomSSLProtocolSocketFactory.java

public Socket connectSocket(Socket sock, InetSocketAddress remoteAddress, InetSocketAddress localAddress,
        HttpParams params) throws IOException {
    int connTimeout = HttpConnectionParams.getConnectionTimeout(params);
    int soTimeout = HttpConnectionParams.getSoTimeout(params);

    SSLSocket sslsocket = (SSLSocket) ((sock != null) ? sock : createSocket(params));

    if (localAddress != null) {
        sslsocket.setReuseAddress(HttpConnectionParams.getSoReuseaddr(params));
        sslsocket.bind(localAddress);/*from  w w  w.j  a  v  a 2  s.  c o m*/
    }

    try {
        sslsocket.setSoTimeout(soTimeout);
        sslsocket.connect(remoteAddress, connTimeout);
    } catch (SocketTimeoutException ex) {
        throw new ConnectTimeoutException("Connect to " + remoteAddress + " timed out");
    }
    return sslsocket;
}

From source file:edu.htl3r.schoolplanner.backend.network.Network.java

/**
 * Liefert ein {@link SSLSocket}, wenn eine Verbindung via SSL zum Server aufgebaut werden konnte oder 'null', wenn SSL nicht verfuegbar ist.
 * @param sa Die Adresse des Sockets, zum dem die Verbindung aufgebaut werden soll
 * @param set Ein Set mit {@link SSLSocket}s, mithilfe derer versucht werden soll, eine Verbindung aufzubauen 
 * @return Das erste SSLSocket aus dem Set, mit dem eine problemlos Verbindung zum Server aufgebaut werden konnte oder 'null', wenn dies mit keinem moeglich war
 *//*from  www  .ja  v a2 s .  c om*/
private SSLSocket getWorkingSSLSocket(SocketAddress sa, Set<SSLSocket> set) {
    final int sslSocketTimeout = 2000;
    for (SSLSocket sslSocket : set) {
        try {
            sslSocket.connect(sa, sslSocketTimeout);
            sslSocket.setSoTimeout(sslSocketTimeout);
            sslSocket.setReuseAddress(true);
            sslSocket.startHandshake();
            return sslSocket;
        } catch (IOException e) {
        } finally {
            try {
                sslSocket.close();
            } catch (IOException e) {
            }
        }
    }
    return null;
}