Hello,
J'ai un petit projet de Chat en Java à faire actuellement.
Je pensais avoir compris le fonctionnement client/serveur (tcp, udp).
Mais visiblement il me manque quelque chose.
Bien évidemment pour du multi-client, je vais devoir passer par les threads (ouverture d'une communication entre un client et le serveur), mais j'ai déjà un problème pour connecter plusieurs clients.
"java.net.BindException: Adresse déjà utilisée (Bind failed)"
Bon, ça semble indiquer que j'essaye d'écouter sur un port déjà occupé. Le problème c'est que ce port, il est occupé par mon serveur. Donc je suis dans le flou. 
Niveau code, pour le moment le strict minimum :
package chat;
public class Helper {
public static final int PORT = 10196;
public static final String END_OF_MESSAGE = "END_OF_MESSAGE";
}
package chat;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
ServerSocket serverSocket = null;
Socket client = null;
public Server() {
try {
serverSocket = new ServerSocket(Helper.PORT);
while (true) {
System.out.println("Serveur démarré");
client = serverSocket.accept();
System.out.println("Client connecté");
client.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new Server();
}
}
package chat;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
Socket clientSocket;
Client(){
try {
clientSocket = new Socket("localhost", Helper.PORT);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Bon, comme je l'ai dis, c'est vraiment minimal.
Message édité le 08 février 2018 à 18:51:15 par Vulgaan