Client-server architecture ek design model hai jisme do alag-alag programs (client aur server) network ke zariye communicate karte hain.
Is model me:
ServerSocket
start karta hai aur clients ke liye listen karta hai.Socket
bana kar server ke IP address aur port se connect hota hai.import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) {
String serverIP = "127.0.0.1";
int port = 5000;
try (Socket socket = new Socket(serverIP, port);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader console = new BufferedReader(new InputStreamReader(System.in))) {
String inputUser;
System.out.println("Connected to server: " + serverIP + ":" + port);
while ((inputUser = console.readLine()) != null) {
out.println(inputUser);
String response = in.readLine();
System.out.println("Server: " + response);
if ("bye".equalsIgnoreCase(inputUser)) {
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) {
int port = 5000;
try (ServerSocket serverSocket = new ServerSocket(port)) {
System.out.println("Server listening on port " + port);
try (Socket clientSocket = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true)) {
System.out.println("Client connected: " + clientSocket.getInetAddress());
String clientInput;
while ((clientInput = in.readLine()) != null) {
System.out.println("Client: " + clientInput);
out.println("Echo: " + clientInput);
if ("bye".equalsIgnoreCase(clientInput)) {
break;
}
}
}
System.out.println("Client disconnected.");
} catch (IOException e) {
e.printStackTrace();
}
}
}