ASCII
Server
ASCII-Server
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerASCII {
        //Utiliser le port 80
		private static final int LISTEN_PORT = 80;
		public static void main(String[] args){
			//Prise de réception
			Socket socket =null;
			//Prise passive(Socket serveur)
			ServerSocket ss_socket = null;
			try {
				ss_socket = new ServerSocket(LISTEN_PORT);
			    } catch (IOException e1) {
				//Bloc de capture généré automatiquement TODO
				e1.printStackTrace();
			    }
			//Ecrire le traitement côté serveur
			try{
				System.out.println("En attente du client");
				socket = ss_socket.accept();
				//Lecteur / graveur d'entrée / sortie
				BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
				BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
				while (true) {
				char[] buf = new char[1024];
				if(in.read(buf) != -1){
					try{
						System.out.println("receive↓↓");
						System.out.print(buf);
						Thread.sleep(250);
		            }
		            catch(Exception ex){
		                ex.printStackTrace();
		            }
				}
				System.out.print("\n");
				if (buf.equals("bye")) {
	                break;
	        	}
				out.write(buf);
				out.flush();
				}
			}catch(IOException err){
				err.printStackTrace();
			}finally{
				try{
					if (socket!=null){
						socket.close();
					}
					if (ss_socket!=null){
						ss_socket.close();
					}
					System.out.println("C'est la fin côté serveur");
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
	    }
 }
Client
ASCII-Client
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class ClientASCII {
	private static final String HOST = "localhost";//point d'accès
	private static final int PORT = 80;//Utiliser le port 80
	private static final String err = "0000";
	public static void main(String[] args) throws InterruptedException {
		ClientASCII aa = new ClientASCII();
		aa.Cascii();
	}
	public void Cascii() throws InterruptedException{
		Socket socket = null;
		try {
			socket = new Socket(HOST,PORT);
		} catch (UnknownHostException e1) {
			//Bloc de capture généré automatiquement TODO
			e1.printStackTrace();
		} catch (IOException e1) {
			//Bloc de capture généré automatiquement TODO
			e1.printStackTrace();
		}
		try{
			//Lecteurs et écrivains entrants et sortants
			BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
			BufferedReader csInput = new BufferedReader (new InputStreamReader(System.in));
			while (true) {
			System.out.println("-------------------");
			System.out.println("Veuillez entrer la commande");
			System.out.println("-------------------");
			//Message à envoyer au serveur
			String sendMSG = csInput.readLine();
			String sub;
			String check;
			if(sendMSG.isEmpty()) {
        		System.out.println("↓ ↓ Quelque chose ne va pas ↓ ↓");
        		continue;
        	}
			out.write(sendMSG);
			out.flush();
			//Sortir de la boucle avec l'entrée bye
			if (sendMSG.equals("bye")) {
				break;
			}
			//Recevoir la chaîne du serveur
			System.out.print("receive->");
			char[] buf = new char[1024];
			if(in.read(buf) != -1){
				System.out.print(buf);
				System.out.println("\n");
	    		sub = new String(buf);
				if(!check.equals(err)) {
					System.out.println("Erreur est survenue");
				}
			} else {
				System.out.println("le retour est nul");
				break;
			}
			}
		}catch(IOException err){
			err.printStackTrace();
		}finally{
			try {
				if (socket != null) {
					socket.close();
				}
		        System.out.println("C'est la fin côté client");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
Binary
Server
Binary-Server
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import org.apache.commons.codec.binary.Hex;
public class ServerBinary {
	public static void main(String[] args) {
		ServerBinary s1 = new ServerBinary();
		s1.runSample();
	}
	void runSample() {
		ServerSocket sSocket = null;
		Socket socket = null;
		BufferedReader reader = null;
		PrintWriter writer = null;
		OutputStream os = null;
		byte crlf [] = {13,10};
		try{
			//Créez un socket côté serveur en spécifiant l'adresse IP et le numéro de port
			sSocket = new ServerSocket();
			sSocket.bind(new InetSocketAddress
					("localhost",8000));
			System.out.println("En attente de l'entrée du client");
			//Continuer à attendre les demandes des clients
			socket = sSocket.accept();
			//Pour recevoir du client
			reader = new BufferedReader(
					new InputStreamReader
					(socket.getInputStream()));
			os = socket.getOutputStream();
			//Boucle infinie Quittez la boucle en saisissant bye
			String line = null;
	        while (true) {
	        	line = reader.readLine();
	        	byte[] sbyte = line.getBytes();
	        	String ddd = new String(Hex.encodeHex(sbyte));
	        	if (line.equals("bye")) {
	                break;
	        	}
		        os.write(sbyte);
		        os.write(crlf);
	            System.out.println("Caractères saisis sur le client =" + ddd);
	        }
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			try{
				if (reader!=null){
					reader.close();
				}
				if (socket!=null){
					socket.close();
				}
				if (sSocket!=null){
					sSocket.close();
				}
	            System.out.println("C'est la fin côté serveur");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
Client
Binary-Client
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import org.apache.commons.codec.binary.Hex;
public class ClientBinary {
	public static void main(String[] args) {
		ClientBinary s2 = new ClientBinary();
		s2.runSample();
	}
	void runSample() {
		Socket cSocket = null;
		BufferedReader csInput = null;
		PrintWriter writer = null;
		BufferedReader reader = null;
		try{
			//Créez un socket côté client en spécifiant l'adresse IP et le numéro de port
			cSocket = new Socket("localhost", 8000);
			//Pour entrée côté client
			csInput = new BufferedReader
					(new InputStreamReader(System.in));
			//Pour l'envoi du côté client vers le serveur
			writer = new PrintWriter
					(cSocket.getOutputStream(), true);
			//Pour recevoir du côté serveur
			reader = new BufferedReader
					(new InputStreamReader
							(cSocket.getInputStream()));
			//Boucle infinie Quittez la boucle en saisissant bye
			String line = null;
			String read = null;
			while (true) {
				System.out.println("-------------------");
				System.out.println("Veuillez entrer la commande");
				System.out.println("-------------------");
	        	line = csInput.readLine();
	        	byte[] bi = line.getBytes();
				//Envoyer des caractères à envoyer
	        	if(line.isEmpty()) {
	        		System.out.println("↓ ↓ Quelque chose ne va pas ↓ ↓");
	        		continue;
	        	}
	        	writer.println(bi);
				//Sortir de la boucle avec l'entrée bye
				if (line.equals("bye")) {
					break;
				}
				read = reader.readLine();
				byte[] sbyte = read.getBytes();
				String ddd = new String(Hex.encodeHex(sbyte));
				System.out.println("return: " + ddd);
			}
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			try {
				if (reader != null) {
					reader.close();
				}
				if (writer != null) {
					writer.close();
				}
				if (csInput != null) {
					csInput.close();
				}
				if (cSocket != null) {
					cSocket.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
	        System.out.println("C'est la fin côté client");
		}
	}
}
        Recommended Posts