Vous êtes à la recherche de communication TCP simple à l'aide des prises. Jetez un oeil à ce tutoriel, il vous a tout de commencer: http://systembash.com/content/a-simple-java-tcp-server-and-tcp-client/
idée de base est d'avoir un serveur qui écoute à un certain port:
String clientSentence;
String capitalizedSentence;
//server listes at port number
ServerSocket welcomeSocket = new ServerSocket(6789);
//server is running forever...
while(true) {
//... and is accepting connections
Socket connectionSocket = welcomeSocket.accept();
//receives string messages ...
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
//... and sends messages
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
System.out.println("Received: " + clientSentence);
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
}
Et le client devrait ressembler à ceci:
String sentence= "this is a message";
String modifiedSentence;
//client opens a socket
Socket clientSocket = new Socket("localhost", 6789);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
//writes to the server
outToServer.writeBytes(sentence + '\n');
modifiedSentence = inFromServer.readLine();
System.out.println("FROM SERVER: " + modifiedSentence);
//communication is finished, close the connection
clientSocket.close();
Merci pour la réponse! très utile. Une autre question: Aurais-je besoin de configurer une convention de dénomination de fichier spécial sur le "serveur"? Ou s'agit-il simplement d'exécuter les deux scripts à partir d'un IDE tel que Eclipse sur le serveur et le client? Aussi pour "Localhost" aurais-je plutôt taper l'adresse IP de mon ordinateur portable sur mon réseau local tel que 192.168.0.3, cela fonctionnerait pour la ligne: Socket clientSocket = new Socket ("192.168.0.3", 6789) ; // Ouvrir la connexion à l'ordinateur portable sur le réseau local avec IP 192.168.0.3 (serveur) – user2318861
Je ne comprends pas vraiment votre question. Mais cela peut s'exécuter sur le même ordinateur (c'est-à-dire localhost) ou sur des ordinateurs différents (alors vous fournissez une adresse IP, par exemple 192.168.0.3). Le numéro de port est un must tout le temps. – darijan
Existe-t-il une convention spécifique de dénomination de dossier/fichier pour une application côté serveur java? Ou vous exécutez simplement le code côté serveur avec un IDE sur le serveur et il écoutera automatiquement le port donné pour toute entrée. Identique au client, exécutez simplement l'application via un IDE tel qu'Eclipse. – user2318861