Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.net.*;
- import com.sun.java_cup.internal.runtime.Scanner;
- class TCPServer {
- public static boolean exit = false;
- public static ServerSocket srvSocket = null;
- public static Socket cliSocket = null;
- public static void main(String args[]) throws Exception {
- Runnable serverThread = new Runnable() {
- public void run() {
- try {
- DataOutputStream out = null;
- BufferedReader in = null;
- InetAddress addr = null;
- String data = null;
- // creation de la socket serveur TCP
- srvSocket = new ServerSocket(9876);
- // Boucle principale
- while (!exit) {
- // Attend une nouvelle connexion
- cliSocket = srvSocket.accept();
- try {
- // Creation d'un buffer de reception sur la socket
- // cliente
- in = new BufferedReader(new InputStreamReader(cliSocket.getInputStream()));
- // Lecture des donnees
- data = in.readLine();
- exit = data.contains("XXX");
- addr = cliSocket.getInetAddress();
- // Affichage
- System.out.println(
- "RECV FROM " + addr.toString() + ":" + cliSocket.getPort() + " -> " + data);
- data = "RESPÂ : " + data;
- // Renvoi vers la socket emettrice
- out = new DataOutputStream(cliSocket.getOutputStream());
- out.writeBytes(data);
- out.writeBytes("\n");
- } finally {
- cliSocket.close();
- }
- }
- } catch (Exception excp) {
- System.out.println(excp.toString());
- } finally {
- // Fermeture de la socket
- if (srvSocket != null)
- try {
- srvSocket.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- };
- Thread thread = new Thread(serverThread);
- thread.start();
- try {
- // Sortie du logiciel
- System.out.println("XXX pour quitter l'application");
- String sortie = "";
- //Scanner sc = new Scanner(System.in);
- BufferedReader user = new BufferedReader(new InputStreamReader(System.in));
- do {
- sortie = user.readLine();
- } while (!sortie.equals("XXX"));
- thread.join();
- exit = true;
- if (cliSocket == null)
- cliSocket.close(); // on ferme le socket si aucune connexion n'est ouverte
- srvSocket.close();
- System.out.println("Vous avez quitté l'application");
- } catch (Exception excp) {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement