Add multiple servers choice, but dl only from one
flavien's git/Projet_JAVA_P2P_STRI2A/pipeline/pr-master This commit looks good
Details
flavien's git/Projet_JAVA_P2P_STRI2A/pipeline/pr-master This commit looks good
Details
Je suis en train de faire en sorte qu’on télécharge depuis plusieurspull/30/head
parent
11e965acc8
commit
f88f5b1d40
@ -0,0 +1,84 @@
|
||||
package tools;
|
||||
import java.net.InetAddress;
|
||||
import java.net.SocketException;
|
||||
import java.net.Socket;
|
||||
import java.net.DatagramSocket;
|
||||
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;
|
||||
|
||||
/** 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);
|
||||
}
|
||||
}
|
||||
return tcpSocket;
|
||||
}
|
||||
|
||||
/** Closes tcp socket
|
||||
*/
|
||||
public void closeTCPSocket() {
|
||||
if (tcpSocket != null) {
|
||||
try {
|
||||
tcpSocket.close();
|
||||
} catch (IOException e2) {
|
||||
System.err.println("Error: cannot close socket");
|
||||
}
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
return udpSocket;
|
||||
}
|
||||
public void closeUDPSocket() {
|
||||
if (udpSocket != null) {
|
||||
udpSocket.close();
|
||||
}
|
||||
udpSocket = null;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue