/** * Returns the path to this sampler's system directory; if it has one. */ @Override public final String getSystemDirectoryPath() { try { return SocketCreator.getHostName(SocketCreator.getLocalHost()); } catch (UnknownHostException ignore) { return ""; } }
private Thread startServer( final Object[] receiver ) throws Exception { final ServerSocket ss = SocketCreator.getDefaultInstance().createServerSocket( randport, 0, InetAddress.getByName( "localhost" ), log ); Thread t = new Thread( new Runnable() { public void run( ) { try { Socket s = ss.accept(); SocketCreator.getDefaultInstance().configureServerSSLSocket( s, log ); ObjectInputStream ois = new ObjectInputStream( s.getInputStream() ); receiver[0] = ois.readObject( ); server = s; acceptor = ss; } catch ( Exception e ) { e.printStackTrace(); receiver[0] = e; } } }, name + "-server" ); t.start(); return t; }
public void run( ) { try { Socket s = ss.accept(); SocketCreator.getDefaultInstance().configureServerSSLSocket( s, log ); ObjectInputStream ois = new ObjectInputStream( s.getInputStream() ); receiver[0] = ois.readObject( ); server = s; acceptor = ss; } catch ( Exception e ) { e.printStackTrace(); receiver[0] = e; } } }, name + "-server" );
protected String getLocalHost() { try { return SocketCreator.getLocalHost().getCanonicalHostName(); } catch (UnknownHostException ignore) { return LOCALHOST; } }
socket.bind(addr, backlog); } else { socket = SocketCreator.getDefaultInstance().createServerSocket(localPort, backlog, isBindAddress? ba : null, tcpBufferSize); if (useNIO || SocketCreator.treatAsBindException(ex)) { localPort++; } else {
if (this.useNIO) { if (p <= 0) { socket = SocketCreator.getDefaultInstance().createServerSocketUsingPortRange(ba, b, isBindAddress, this.useNIO, 0, tcpPortRange); } else { try { if (p <= 0) { socket = SocketCreator.getDefaultInstance().createServerSocketUsingPortRange(ba, b, isBindAddress, this.useNIO, this.tcpBufferSize, tcpPortRange); } else { socket = SocketCreator.getDefaultInstance().createServerSocket(p, b, isBindAddress? ba : null, this.tcpBufferSize);
int handShakeTimeout, int readTimeout, byte communicationMode, GatewaySender sender) throws IOException { SocketCreator sc = SocketCreator.getDefaultInstance(); if (sender != null && !sender.getGatewayTransportFilters().isEmpty()) { DistributionConfig config = new DistributionConfigImpl(new Properties()); sc = SocketCreator.createNonDefaultInstance(config.getSSLEnabled(), config.getSSLRequireAuthentication(), config.getSSLProtocols(), config.getSSLCiphers(), config.getSSLProperties()); sc.initializeTransportFilterClientSocketFactory(sender); .isHostReachable(InetAddress.getByName(location.getHostName()))) { throw new NoRouteToHostException("Server is not reachable: " + location.getHostName()); theSocket = sc.connectForClient( location.getHostName(), location.getPort(), logger, handShakeTimeout, socketBufferSize); theSocket.setTcpNoDelay(true);
/** not actually related to this test class, but this is as good a place as any for this little test of the client-side ability to tell gemfire to use a given socket factory. We just test the connectForClient method to see if it's used */ public void testClientSocketFactory() { System.getProperties().put("gemfire.clientSocketFactory", TSocketFactory.class.getName()); System.getProperties().remove( "gemfire.ssl-enabled"); SocketCreator.getDefaultInstance(new Properties()); factoryInvoked = false; try { try { Socket sock = SocketCreator.getDefaultInstance().connectForClient("localhost", 12345, new LocalLogWriter(LogWriterImpl.ALL_LEVEL, System.out),0); sock.close(); fail("socket factory was not invoked"); } catch (IOException e) { assertTrue("socket factory was not invoked: " + factoryInvoked, factoryInvoked); } } finally { System.getProperties().remove("gemfire.clientSocketFactory"); SocketCreator.getDefaultInstance().initializeClientSocketFactory(); } }
protected void checkServerBindAddress(String value) { _checkIfModifiable(SERVER_BIND_ADDRESS_NAME); if (value != null && value.length() > 0 && !SocketCreator.isLocalHost(value)) { throw new IllegalArgumentException( LocalizedStrings.AbstractDistributionConfig_BIND_ADDRESS_0_INVALID_MUST_BE_IN_1 .toLocalizedString(new Object[]{value, SocketCreator.getMyAddresses(true) })); } } public boolean isServerBindAddressModifiable() {
assertTrue(SocketCreator.getDefaultInstance().useSSL()); Socket client = SocketCreator.getDefaultInstance().connectForServer( InetAddress.getByName("localhost"), randport, log ); ObjectOutputStream oos = new ObjectOutputStream( client.getOutputStream() ); String expected = new String( "testing " + name );
printConfig( log ); if ( this.useSSL ) { if (this.sslContext == null) { finishServerSocket(serverSocket); return serverSocket;
@Override public SockCreator getSockCreator() { return SocketCreator.getDefaultInstance(); }
this.socket = SocketCreator.getDefaultInstance().connectForServer( remoteAddr.getInetAddress(), remoteAddr.getDirectChannelPort(), socketBufferSize );
public ServerSocket createServerSocket(int port, int backlog, String bindAddress) throws IOException { if ("".equals(bindAddress)) { return socketCreator.createServerSocket( port, backlog, this.log); } else { return socketCreator.createServerSocket( port, backlog, InetAddressUtil.toInetAddress(bindAddress), this.log); } }
@Override public String getHostName(InetAddress ip_addr) { return SocketCreator.getHostName(ip_addr); } @Override
"BridgeServer.SOCKET_BUFFER_SIZE", 32768).intValue(); if (!SocketCreator.getDefaultInstance() .isHostReachable(InetAddress.getByName(location.getHostName()))) { throw new NoRouteToHostException("Server is not reachable: " + location.getHostName()); mySock = SocketCreator.getDefaultInstance().connectForClient( location.getHostName(), location.getPort(), logger, handshakeTimeout, socketBufferSize); mySock.setTcpNoDelay(true);
public ServerSocket createServerSocket(int nport, int backlog, InetAddress bindAddr, List<GatewayTransportFilter> transportFilters, int socketBufferSize) throws IOException { if (transportFilters.isEmpty()) { return createServerSocket(nport, backlog, bindAddr, socketBufferSize); } else { printConfig(); ServerSocket result = new TransportFilterServerSocket(transportFilters); result.setReuseAddress(true); // Set the receive buffer size before binding the socket so // that large buffers will be allocated on accepted sockets (see // java.net.ServerSocket.setReceiverBufferSize javadocs) result.setReceiveBufferSize(socketBufferSize); try { result.bind(new InetSocketAddress(bindAddr, nport), backlog); } catch (BindException e) { BindException throwMe = new BindException( LocalizedStrings.SocketCreator_FAILED_TO_CREATE_SERVER_SOCKET_ON_0_1 .toLocalizedString(new Object[] { bindAddr, Integer.valueOf(nport) })); throwMe.initCause(e); throw throwMe; } return result; } }
/** * During final check, establish TCP connection between current member and suspect member. * And exchange PING/PONG message to see if the suspect member is still alive. * * @param suspectMember member that does not respond to HeartbeatRequestMessage * @return true if successfully exchanged PING/PONG with TCP connection, otherwise false. */ private boolean doTCPCheckMember(InternalDistributedMember suspectMember, int port) { Socket clientSocket = null; try { logger.debug("Checking member {} with TCP socket connection {}:{}.", suspectMember, suspectMember.getInetAddress(), port); clientSocket = SocketCreator.getDefaultInstance().connect(suspectMember.getInetAddress(), port, (int)memberTimeout, new ConnectTimeoutTask(services.getTimer(), memberTimeout), false, -1, false); clientSocket.setTcpNoDelay(true); return doTCPCheckMember(suspectMember, clientSocket); } catch (IOException e) { logger.debug("Unexpected exception", e); } finally { try { if (clientSocket != null) { clientSocket.close(); } } catch (IOException e) { logger.trace("Unexpected exception", e); } } return false; }
ServerSocket createServerSocket(InetAddress socketAddress, int[] portRange) { ServerSocket serverSocket = null; try { serverSocket = SocketCreator.getDefaultInstance().createServerSocketUsingPortRange(socketAddress, 50/*backlog*/, true/*isBindAddress*/, false/*useNIO*/, 65536/*tcpBufferSize*/, portRange); socketPort = serverSocket.getLocalPort(); } catch (IOException e) { throw new GemFireConfigException("Unable to allocate a failure detection port in the membership-port range", e); } catch (SystemConnectException e) { throw new GemFireConfigException("Unable to allocate a failure detection port in the membership-port range", e); } return serverSocket; }
/** Returns true if host matches the LOCALHOST. */ public static boolean isLocalHost(Object host) { if (host instanceof InetAddress) { if (InetAddressUtil.LOCALHOST.equals(host)) { return true; } else { try { Enumeration en=NetworkInterface.getNetworkInterfaces(); while(en.hasMoreElements()) { NetworkInterface i=(NetworkInterface)en.nextElement(); for(Enumeration en2=i.getInetAddresses(); en2.hasMoreElements();) { InetAddress addr=(InetAddress)en2.nextElement(); if (host.equals(addr)) { return true; } } } return false; } catch (SocketException e) { throw new IllegalArgumentException(LocalizedStrings.InetAddressUtil_UNABLE_TO_QUERY_NETWORK_INTERFACE.toLocalizedString(), e); } } } else { return isLocalHost(toInetAddress(host.toString())); } }