import java.io.*;
import java.net.*;
import java.util.Scanner;
public class EchoClient{
public static void main(String[] args){
try{
Socket socket=new Socket("127.0.0.1",5000);
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out= new PrintWriter(socket.getOutputStream(),true);
Scanner sc=new Scanner(System.in);
String message,response;
while(true){
System.out.print("Enter message:");
message=sc.nextLine();
out.println(message);
response=in.readLine();
System.out.println("Server:"+response);
if(message.equalsIgnoreCase("exit"))
break;
}
socket.close();
sc.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
public class EchoServer{
public static void main(String[] args){
try{
ServerSocket serverSocket=new ServerSocket(5000);
System.out.println("Echo Server is waiting for a client...");
Socket socket=serverSocket.accept();
System.out.println("Clent Connected");
BufferedReader in=new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out= new PrintWriter(
socket.getOutputStream(),true);
String message;
while((message=in.readLine())!=null){
System.out.println("Received: "+message);
if(message.equalsIgnoreCase("exit")){
out.println("Connection closed.");
}
out.println("Echo:" +message);
}
socket.close();
serverSocket.close();
}
catch(IOException e){
e.printStackTrace();}
}
}