|
|
|
@ -7,78 +7,82 @@ import java.net.UnknownHostException;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
|
|
|
|
/** Class to store hostnames + ports
|
|
|
|
|
*/
|
|
|
|
|
public class HostItem {
|
|
|
|
|
private String hostname;
|
|
|
|
|
private int port;
|
|
|
|
|
private Socket tcpSocket;
|
|
|
|
|
private DatagramSocket udpSocket;
|
|
|
|
|
* @author Louis Royer
|
|
|
|
|
* @author Flavien Haas
|
|
|
|
|
* @author JS Auge
|
|
|
|
|
* @version 1.0
|
|
|
|
|
*/
|
|
|
|
|
public class HostItem {
|
|
|
|
|
private String hostname;
|
|
|
|
|
private int port;
|
|
|
|
|
private Socket tcpSocket;
|
|
|
|
|
private DatagramSocket udpSocket;
|
|
|
|
|
|
|
|
|
|
/** Constructor with hostname and port
|
|
|
|
|
* @param hostname Hostname
|
|
|
|
|
* @param port Port
|
|
|
|
|
*/
|
|
|
|
|
public HostItem(String hostname, int port) {
|
|
|
|
|
this.port = port;
|
|
|
|
|
this.hostname = hostname;
|
|
|
|
|
}
|
|
|
|
|
/** Constructor with hostname and port
|
|
|
|
|
* @param hostname Hostname
|
|
|
|
|
* @param port Port
|
|
|
|
|
*/
|
|
|
|
|
public HostItem(String hostname, int port) {
|
|
|
|
|
this.port = port;
|
|
|
|
|
this.hostname = hostname;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Get TCP Socket.
|
|
|
|
|
* @return TCP Socket
|
|
|
|
|
*/
|
|
|
|
|
public Socket getTCPSocket() {
|
|
|
|
|
if (tcpSocket == null) {
|
|
|
|
|
try {
|
|
|
|
|
tcpSocket = new Socket(InetAddress.getByName(hostname), port);
|
|
|
|
|
} catch (SocketException e) {
|
|
|
|
|
System.err.println("Error: No TCP socket available.");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
} catch (UnknownHostException e) {
|
|
|
|
|
System.err.println("Error: Unknown host.");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
System.err.println("Error: Cannot create TCP socket");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
}
|
|
|
|
|
/** Get TCP Socket.
|
|
|
|
|
* @return TCP Socket
|
|
|
|
|
*/
|
|
|
|
|
public Socket getTCPSocket() {
|
|
|
|
|
if (tcpSocket == null) {
|
|
|
|
|
try {
|
|
|
|
|
tcpSocket = new Socket(InetAddress.getByName(hostname), port);
|
|
|
|
|
} catch (SocketException e) {
|
|
|
|
|
System.err.println("Error: No TCP socket available.");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
} catch (UnknownHostException e) {
|
|
|
|
|
System.err.println("Error: Unknown host.");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
System.err.println("Error: Cannot create TCP socket");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
}
|
|
|
|
|
return tcpSocket;
|
|
|
|
|
}
|
|
|
|
|
return tcpSocket;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Closes tcp socket
|
|
|
|
|
*/
|
|
|
|
|
public void closeTCPSocket() {
|
|
|
|
|
if (tcpSocket != null) {
|
|
|
|
|
try {
|
|
|
|
|
tcpSocket.close();
|
|
|
|
|
} catch (IOException e2) {
|
|
|
|
|
System.err.println("Error: cannot close socket");
|
|
|
|
|
}
|
|
|
|
|
/** Closes tcp socket
|
|
|
|
|
*/
|
|
|
|
|
public void closeTCPSocket() {
|
|
|
|
|
if (tcpSocket != null) {
|
|
|
|
|
try {
|
|
|
|
|
tcpSocket.close();
|
|
|
|
|
} catch (IOException e2) {
|
|
|
|
|
System.err.println("Error: cannot close socket");
|
|
|
|
|
}
|
|
|
|
|
tcpSocket = null;
|
|
|
|
|
}
|
|
|
|
|
tcpSocket = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Get UDP Socket
|
|
|
|
|
* return UDP Socket
|
|
|
|
|
*/
|
|
|
|
|
public DatagramSocket getUDPSocket() {
|
|
|
|
|
if (udpSocket == null) {
|
|
|
|
|
try {
|
|
|
|
|
udpSocket = new DatagramSocket();
|
|
|
|
|
udpSocket.connect(InetAddress.getByName(hostname), port);
|
|
|
|
|
} catch (SocketException e) {
|
|
|
|
|
System.err.println("Error: No UDP socket available.");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
} catch (UnknownHostException e) {
|
|
|
|
|
System.err.println("Error: Unknown host.");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
}
|
|
|
|
|
/** Get UDP Socket
|
|
|
|
|
* return UDP Socket
|
|
|
|
|
*/
|
|
|
|
|
public DatagramSocket getUDPSocket() {
|
|
|
|
|
if (udpSocket == null) {
|
|
|
|
|
try {
|
|
|
|
|
udpSocket = new DatagramSocket();
|
|
|
|
|
udpSocket.connect(InetAddress.getByName(hostname), port);
|
|
|
|
|
} catch (SocketException e) {
|
|
|
|
|
System.err.println("Error: No UDP socket available.");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
} catch (UnknownHostException e) {
|
|
|
|
|
System.err.println("Error: Unknown host.");
|
|
|
|
|
System.exit(-1);
|
|
|
|
|
}
|
|
|
|
|
return udpSocket;
|
|
|
|
|
}
|
|
|
|
|
public void closeUDPSocket() {
|
|
|
|
|
if (udpSocket != null) {
|
|
|
|
|
udpSocket.close();
|
|
|
|
|
}
|
|
|
|
|
udpSocket = null;
|
|
|
|
|
return udpSocket;
|
|
|
|
|
}
|
|
|
|
|
public void closeUDPSocket() {
|
|
|
|
|
if (udpSocket != null) {
|
|
|
|
|
udpSocket.close();
|
|
|
|
|
}
|
|
|
|
|
udpSocket = null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|