జావా నెట్వర్కింగ్ - ప్రోగ్రామింగ్ ఉదాహరణలు
నెట్వర్కింగ్ అనేది ఆధునిక సాఫ్ట్వేర్ డెవలప్మెంట్లో ముఖ్యమైన అంశం, మరియు శక్తివంతమైన నెట్వర్క్డ్ అప్లికేషన్లను రూపొందించడానికి డెవలపర్లను అనుమతించే బలమైన నెట్వర్కింగ్ APIల సెట్ను జావా అందిస్తుంది. ఈ కథనంలో, నెట్వర్క్డ్ అప్లికేషన్లను సృష్టించడానికి జావా నెట్వర్కింగ్ APIలను ఎలా ఉపయోగించాలో ప్రదర్శించడానికి మేము ప్రోగ్రామింగ్ ఉదాహరణలను అందిస్తాము.
TCP క్లయింట్-సర్వర్ ఉదాహరణ
ఈ ఉదాహరణలో, మేము TCP ప్రోటోకాల్ని ఉపయోగించి సాధారణ క్లయింట్-సర్వర్ అప్లికేషన్ను సృష్టిస్తాము. క్లయింట్ సర్వర్కు సందేశాన్ని పంపుతుంది మరియు సర్వర్ రసీదుతో ప్రతిస్పందిస్తుంది.
సర్వర్ కోడ్:
జావాimport java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(5000);
Socket socket = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
String message = in.readLine();
System.out.println("Received message: " + message);
out.println("Acknowledged: " + message);
socket.close();
serverSocket.close();
}
}
క్లయింట్ కోడ్:
జావాimport java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 5000);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("Hello, server!");
String response = in.readLine();
System.out.println("Server response: " + response);
socket.close();
}
}
ఈ ఉదాహరణలో, సర్వర్ పోర్ట్ 5000లో ఇన్కమింగ్ కనెక్షన్లను వింటుంది. క్లయింట్ కనెక్ట్ అయినప్పుడు, అది క్లయింట్ నుండి సందేశాన్ని చదివి, తిరిగి రసీదుని పంపుతుంది. క్లయింట్ హోస్ట్ పేరు "localhost" మరియు పోర్ట్ 5000 ఉపయోగించి సర్వర్కు కనెక్ట్ చేస్తుంది. ఇది సర్వర్కు సందేశాన్ని పంపుతుంది మరియు ప్రతిస్పందన కోసం వేచి ఉంటుంది.
UDP ఉదాహరణ
ఈ ఉదాహరణలో, మేము UDP ప్రోటోకాల్ని ఉపయోగించి సాధారణ క్లయింట్-సర్వర్ అప్లికేషన్ను సృష్టిస్తాము. క్లయింట్ సర్వర్కు సందేశాన్ని పంపుతుంది మరియు సర్వర్ రసీదుతో ప్రతిస్పందిస్తుంది.
సర్వర్ కోడ్:
జావాimport java.net.*;
public class Server {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(5000);
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
String message = new String(packet.getData(), 0, packet.getLength());
System.out.println("Received message: " + message);
InetAddress address = packet.getAddress();
int port = packet.getPort();
byte[] responseBuffer = "Acknowledged".getBytes();
DatagramPacket responsePacket = new DatagramPacket(responseBuffer, responseBuffer.length, address, port);
socket.send(responsePacket);
socket.close();
}
}
క్లయింట్ కోడ్:
జావాimport java.net.*;
public class Client {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket();
String message = "Hello, server!";
byte[] buffer = message.getBytes();
InetAddress address = InetAddress.getByName("localhost");
int port = 5000;
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, address, port);
socket.send(packet);
byte[] responseBuffer = new byte[1024];
DatagramPacket responsePacket = new DatagramPacket(responseBuffer, responseBuffer.length);
socket.receive(responsePacket);
String response = new String(responsePacket.getData(), 0, responsePacket.getLength());
System.out.println("Server response: " + response);
socket.close();
}
}
ఈ ఉదాహరణలో, పోర్ట్ 5000లో ఇన్కమింగ్ డేటాగ్రామ్లను సర్వర్ వింటుంది. క్లయింట్ డేటాగ్రామ్ని పంపినప్పుడు