écouter sur un port en java
bonjour à tous
voici ce que je souhaite faire:
je veux pouvoir recevoir via le réseau des objets que je traiterai dans l'application
le temps entre chaque objet est inconnu et peut etre tres long
j'ai essayé ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| if(port > 1 && port < 65001) {
/*creation du serveur */
try {
serverSocket = new ServerSocket(port);
soc = serverSocket.accept();
ObjectInputStream objectInputStream = new ObjectInputStream(soc.getInputStream());
while (true) {
try {
String chaine = (String)objectInputStream.readObject();
System.out.println("chaine: "+chaine);
} catch (Exception err) {
err.printStackTrace();
break;
}
}
System.out.println("Serveur cree sur le port "+port);
portField.setEnabled(false);
boutonDemarrer.setEnabled(false); |
là , pour essayer j'ai mis des simples chaines de caracteres mais ça fige mon application
est-ce qu'il est possible de mettre comme un listener sur le objectInputStream afin d'exécuter une certaine méthode lors de l'arrivée d'un objet ?
est-ce que vous voyez une autre maniere de faire ? (j'aimerai pouvoir continuer a utiliser mon application pendant qu'il attend les objets du réseau)
j'espere avoir été assez clair dans mon explication :/
merci d'avance à tous