List of usage examples for java.net Socket setReuseAddress
public void setReuseAddress(boolean on) throws SocketException
From source file:Main.java
public static void main(String[] args) throws Exception { Socket client = new Socket("google.com", 80); client.setReuseAddress(true); System.out.println(client.getReuseAddress()); client.close();/* w w w . j av a 2 s . c om*/ }
From source file:com.impetus.client.cassandra.common.CassandraUtilities.java
/** * * @param host/*from w w w . j a v a 2 s. c o m*/ * @param port * @return */ public static boolean verifyConnection(String host, int port) { Socket socket = null; try { socket = new Socket(host, port); socket.setReuseAddress(true); socket.setSoLinger(true, 0); boolean isConnected = socket.isConnected(); return isConnected; } catch (UnknownHostException e) { logger.warn("{}:{} is still down", host, port); return false; } catch (IOException e) { logger.warn("{}:{} is still down", host, port); return false; } finally { try { if (socket != null) { socket.close(); } } catch (IOException e) { logger.warn("{}:{} is still down", host, port); } } }
From source file:neohope.mule.hl7v2.socket.AbstractTcpSocketFactory.java
public Object makeObject(Object key) throws Exception { Hl7v2SocketKey socketKey = (Hl7v2SocketKey) key; Socket socket = createSocket(socketKey); socket.setReuseAddress(true); Hl7v2Connector connector = socketKey.getConnector(); connector.configureSocket(Hl7v2Connector.CLIENT, socket); return socket; }
From source file:org.openqa.selenium.remote.ReusingSocketSocketFactory.java
public Socket createSocket() { final Socket socket = new Socket(); try {//from w w w . j a v a 2 s . c o m socket.setReuseAddress(true); // This is added by kristian } catch (SocketException e) { throw new RuntimeException(e); } return socket; }
From source file:com.smartwork.client.gsocket.CommonSocketFactory.java
public Object makeObject(Object key) throws Exception { ServerAddress address = (ServerAddress) key; Socket conn = new Socket(); conn.setSoTimeout(networkConfig.getReadTimeout() * 1000); conn.setTcpNoDelay(networkConfig.isTcpNoDelay()); conn.setReuseAddress(networkConfig.isReuseAddress()); conn.setSoLinger(networkConfig.getSoLinger() > 0, networkConfig.getSoLinger()); conn.setSendBufferSize(networkConfig.getSendBufferSize()); conn.setReceiveBufferSize(networkConfig.getReceiveBufferSize()); conn.connect(new InetSocketAddress(address.getHost(), address.getPort()), networkConfig.getConnectTimeout() * 1000); return conn;/*from w ww.j a v a2s . c om*/ }
From source file:com.epam.reportportal.apache.http.impl.conn.HttpClientConnectionOperator.java
public void connect(final ManagedHttpClientConnection conn, final HttpHost host, final InetSocketAddress localAddress, final int connectTimeout, final SocketConfig socketConfig, final HttpContext context) throws IOException { final Lookup<ConnectionSocketFactory> registry = getSocketFactoryRegistry(context); final ConnectionSocketFactory sf = registry.lookup(host.getSchemeName()); if (sf == null) { throw new UnsupportedSchemeException(host.getSchemeName() + " protocol is not supported"); }/*from w w w.j a va 2s . c om*/ final InetAddress[] addresses = this.dnsResolver.resolve(host.getHostName()); final int port = this.schemePortResolver.resolve(host); for (int i = 0; i < addresses.length; i++) { final InetAddress address = addresses[i]; final boolean last = i == addresses.length - 1; Socket sock = sf.createSocket(context); sock.setReuseAddress(socketConfig.isSoReuseAddress()); conn.bind(sock); final InetSocketAddress remoteAddress = new InetSocketAddress(address, port); if (this.log.isDebugEnabled()) { this.log.debug("Connecting to " + remoteAddress); } try { sock.setSoTimeout(socketConfig.getSoTimeout()); sock = sf.connectSocket(connectTimeout, sock, host, remoteAddress, localAddress, context); sock.setTcpNoDelay(socketConfig.isTcpNoDelay()); sock.setKeepAlive(socketConfig.isSoKeepAlive()); final int linger = socketConfig.getSoLinger(); if (linger >= 0) { sock.setSoLinger(linger > 0, linger); } conn.bind(sock); return; } catch (final SocketTimeoutException ex) { if (last) { throw new ConnectTimeoutException(ex, host, addresses); } } catch (final ConnectException ex) { if (last) { final String msg = ex.getMessage(); if ("Connection timed out".equals(msg)) { throw new ConnectTimeoutException(ex, host, addresses); } else { throw new HttpHostConnectException(ex, host, addresses); } } } if (this.log.isDebugEnabled()) { this.log.debug("Connect to " + remoteAddress + " timed out. " + "Connection will be retried using another IP address"); } } }
From source file:org.eclipse.mylyn.internal.commons.repositories.http.core.PollingSslProtocolSocketFactory.java
public Socket connectSocket(Socket sock, InetSocketAddress remoteAddress, InetSocketAddress localAddress, HttpParams params) throws IOException, UnknownHostException, ConnectTimeoutException { Assert.isNotNull(params);/*from w ww.ja v a 2 s .c om*/ final Socket socket = (sock != null) ? sock : createSocket(params); if (localAddress != null) { socket.setReuseAddress(HttpConnectionParams.getSoReuseaddr(params)); socket.bind(localAddress); } int connTimeout = HttpConnectionParams.getConnectionTimeout(params); socket.connect(remoteAddress, connTimeout); if (socket instanceof SSLSocket) { return socket; } else { return getSslSupport(params).getSocketFactory().createSocket(socket, remoteAddress.getHostName(), remoteAddress.getPort(), true); } }
From source file:net.java.sip.communicator.service.httputil.SSLSocketFactoryEx.java
/** * @since 4.1/* ww w .j a v a 2s. c o m*/ */ @Override public Socket connectSocket(final Socket socket, final InetSocketAddress remoteAddress, final InetSocketAddress localAddress, final HttpParams params) throws IOException, UnknownHostException, ConnectTimeoutException { if (remoteAddress == null) { throw new IllegalArgumentException("Remote address may not be null"); } if (params == null) { throw new IllegalArgumentException("HTTP parameters may not be null"); } Socket sock = socket != null ? socket : this.context.getSocketFactory().createSocket(); if (localAddress != null) { sock.setReuseAddress(HttpConnectionParams.getSoReuseaddr(params)); sock.bind(localAddress); } int connTimeout = HttpConnectionParams.getConnectionTimeout(params); int soTimeout = HttpConnectionParams.getSoTimeout(params); try { sock.setSoTimeout(soTimeout); sock.connect(remoteAddress, connTimeout); } catch (SocketTimeoutException ex) { throw new ConnectTimeoutException("Connect to " + remoteAddress + " timed out"); } String hostname; if (remoteAddress instanceof HttpInetSocketAddress) { hostname = ((HttpInetSocketAddress) remoteAddress).getHttpHost().getHostName(); } else { hostname = remoteAddress.getHostName(); } SSLSocket sslsock; // Setup SSL layering if necessary if (sock instanceof SSLSocket) { sslsock = (SSLSocket) sock; } else { int port = remoteAddress.getPort(); sslsock = (SSLSocket) this.context.getSocketFactory().createSocket(sock, hostname, port, true); } return sslsock; }
From source file:com.newrelic.agent.deps.org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.java
@Override public void connect(final ManagedHttpClientConnection conn, final HttpHost host, final InetSocketAddress localAddress, final int connectTimeout, final SocketConfig socketConfig, final HttpContext context) throws IOException { final Lookup<ConnectionSocketFactory> registry = getSocketFactoryRegistry(context); final ConnectionSocketFactory sf = registry.lookup(host.getSchemeName()); if (sf == null) { throw new UnsupportedSchemeException(host.getSchemeName() + " protocol is not supported"); }/*from w ww. jav a2 s .c o m*/ final InetAddress[] addresses = host.getAddress() != null ? new InetAddress[] { host.getAddress() } : this.dnsResolver.resolve(host.getHostName()); final int port = this.schemePortResolver.resolve(host); for (int i = 0; i < addresses.length; i++) { final InetAddress address = addresses[i]; final boolean last = i == addresses.length - 1; Socket sock = sf.createSocket(context); sock.setSoTimeout(socketConfig.getSoTimeout()); sock.setReuseAddress(socketConfig.isSoReuseAddress()); sock.setTcpNoDelay(socketConfig.isTcpNoDelay()); sock.setKeepAlive(socketConfig.isSoKeepAlive()); final int linger = socketConfig.getSoLinger(); if (linger >= 0) { sock.setSoLinger(true, linger); } conn.bind(sock); final InetSocketAddress remoteAddress = new InetSocketAddress(address, port); if (this.log.isDebugEnabled()) { this.log.debug("Connecting to " + remoteAddress); } try { sock = sf.connectSocket(connectTimeout, sock, host, remoteAddress, localAddress, context); conn.bind(sock); if (this.log.isDebugEnabled()) { this.log.debug("Connection established " + conn); } return; } catch (final SocketTimeoutException ex) { if (last) { throw new ConnectTimeoutException(ex, host, addresses); } } catch (final ConnectException ex) { if (last) { final String msg = ex.getMessage(); if ("Connection timed out".equals(msg)) { throw new ConnectTimeoutException(ex, host, addresses); } else { throw new HttpHostConnectException(ex, host, addresses); } } } catch (final NoRouteToHostException ex) { if (last) { throw ex; } } if (this.log.isDebugEnabled()) { this.log.debug("Connect to " + remoteAddress + " timed out. " + "Connection will be retried using another IP address"); } } }
From source file:com.mgmtp.perfload.core.client.web.ssl.LtSSLSocketFactory.java
@Override public Socket connectSocket(final Socket sock, final InetSocketAddress remoteAddress, final InetSocketAddress localAddress, final HttpParams params) throws IOException { checkArgument(remoteAddress != null, "Remote address may not be null"); checkArgument(params != null, "HTTP parameters may not be null"); Socket socket = sock != null ? sock : new Socket(); if (localAddress != null) { socket.setReuseAddress(HttpConnectionParams.getSoReuseaddr(params)); socket.bind(localAddress);/* ww w .j a va2 s . c o m*/ } socket.setSoTimeout(HttpConnectionParams.getSoTimeout(params)); socket.connect(remoteAddress, HttpConnectionParams.getConnectionTimeout(params)); if (socket instanceof SSLSocket) { return socket; } return getSSLContext().getSocketFactory().createSocket(socket, remoteAddress.getHostName(), remoteAddress.getPort(), true); }