Package org.h2.util
Class NetUtils
java.lang.Object
org.h2.util.NetUtils
This utility class contains socket helper functions.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static InetAddress
private static String
private static long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ServerSocket
closeSilently
(ServerSocket socket) Close a server socket and ignore any exceptions.static Socket
createLoopbackSocket
(int port, boolean ssl) Create a loopback socket (a socket that is connected to localhost) on this port.static ServerSocket
createServerSocket
(int port, boolean ssl) Create a server socket.private static ServerSocket
createServerSocketTry
(int port, boolean ssl) static Socket
createSocket
(String server, int defaultPort, boolean ssl) Create a client socket that is connected to the given address and port.static Socket
createSocket
(String server, int defaultPort, boolean ssl, int networkTimeout) Create a client socket that is connected to the given address and port.static Socket
createSocket
(InetAddress address, int port, boolean ssl) Create a client socket that is connected to the given address and port.static Socket
createSocket
(InetAddress address, int port, boolean ssl, int networkTimeout) Create a client socket that is connected to the given address and port.private static InetAddress
Get the bind address if the system property h2.bindAddress is set, or null if not.static String
getHostName
(String localAddress) Get the host name of a local address, if available.static String
Get the local host address as a string.static StringBuilder
ipToShortForm
(StringBuilder builder, byte[] address, boolean addBrackets) Appends short representation of the specified IP address to the string builder.static boolean
isLocalAddress
(Socket socket) Check if a socket is connected to a local address.
-
Field Details
-
CACHE_MILLIS
private static final int CACHE_MILLIS- See Also:
-
cachedBindAddress
-
cachedLocalAddress
-
cachedLocalAddressTime
private static long cachedLocalAddressTime
-
-
Constructor Details
-
NetUtils
private NetUtils()
-
-
Method Details
-
createLoopbackSocket
Create a loopback socket (a socket that is connected to localhost) on this port.- Parameters:
port
- the portssl
- if SSL should be used- Returns:
- the socket
- Throws:
IOException
- on failure
-
createSocket
Create a client socket that is connected to the given address and port.- Parameters:
server
- to connect to (including an optional port)defaultPort
- the default port (if not specified in the server address)ssl
- if SSL should be used- Returns:
- the socket
- Throws:
IOException
- on failure
-
createSocket
public static Socket createSocket(String server, int defaultPort, boolean ssl, int networkTimeout) throws IOException Create a client socket that is connected to the given address and port.- Parameters:
server
- to connect to (including an optional port)defaultPort
- the default port (if not specified in the server address)ssl
- if SSL should be usednetworkTimeout
- socket so timeout- Returns:
- the socket
- Throws:
IOException
- on failure
-
createSocket
Create a client socket that is connected to the given address and port.- Parameters:
address
- the address to connect toport
- the portssl
- if SSL should be used- Returns:
- the socket
- Throws:
IOException
- on failure
-
createSocket
public static Socket createSocket(InetAddress address, int port, boolean ssl, int networkTimeout) throws IOException Create a client socket that is connected to the given address and port.- Parameters:
address
- the address to connect toport
- the portssl
- if SSL should be usednetworkTimeout
- socket so timeout- Returns:
- the socket
- Throws:
IOException
- on failure
-
createServerSocket
Create a server socket. The system property h2.bindAddress is used if set. If SSL is used and h2.enableAnonymousTLS is true, an attempt is made to modify the security property jdk.tls.legacyAlgorithms (in newer JVMs) to allow anonymous TLS.This system change is effectively permanent for the lifetime of the JVM.
- Parameters:
port
- the port to listen onssl
- if SSL should be used- Returns:
- the server socket
- See Also:
-
getBindAddress
Get the bind address if the system property h2.bindAddress is set, or null if not.- Returns:
- the bind address
- Throws:
UnknownHostException
-
createServerSocketTry
-
isLocalAddress
Check if a socket is connected to a local address.- Parameters:
socket
- the socket- Returns:
- true if it is
- Throws:
UnknownHostException
- on failure
-
closeSilently
Close a server socket and ignore any exceptions.- Parameters:
socket
- the socket- Returns:
- null
-
getLocalAddress
Get the local host address as a string. For performance, the result is cached for one second.- Returns:
- the local host address
-
getHostName
Get the host name of a local address, if available.- Parameters:
localAddress
- the local address- Returns:
- the host name, or another text if not available
-
ipToShortForm
public static StringBuilder ipToShortForm(StringBuilder builder, byte[] address, boolean addBrackets) Appends short representation of the specified IP address to the string builder.- Parameters:
builder
- string builder to append to, ornull
address
- IP addressaddBrackets
- if (true
, add brackets around IPv6 addresses- Returns:
- the specified or the new string builder with short representation of specified address
-