All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fi.evolver.basics.spring.tcp.TcpConnector Maven / Gradle / Ivy

There is a newer version: 6.7.0
Show newest version
package fi.evolver.basics.spring.tcp;

import java.net.InetSocketAddress;
import java.net.Socket;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

@Component
public class TcpConnector {
	private static final Logger LOG = LoggerFactory.getLogger(TcpConnector.class);

	public TcpConnectionStatus getTcpConnectionStatus(String host, int port) {
		String status = "OK";
		boolean isConnected = false;
		long connectionTime = -1;
		long startTime = System.currentTimeMillis();

		try (Socket socket = new Socket()) {
			socket.connect(new InetSocketAddress(host,port), 20000);
			connectionTime = System.currentTimeMillis() - startTime;
			isConnected = socket.isConnected();
		}
		catch (Exception e) {
			LOG.warn("FAILED to connect via TCP to host: {}, port: {}", host, port, e);
			status = e.getMessage();
		}

		return new TcpConnectionStatus(status, isConnected, connectionTime);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy