Query_OverFlow-1
Query_OverFlow-1
QOF Series
Candidate :
Server Socket
1.Used on the server side to listen for incoming connection
requests.
Socket
1.Used on both server and client sides to communicate after a
connection is established.
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(5000);
System.out.println("Server is listening on port 5000...");
Socket socket = serverSocket.accept();
System.out.println("Client connected!");
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new
PrintWriter(socket.getOutputStream(), true);
String message = in.readLine();
System.out.println("Received: " + message);
out.println("Echo: " + message);
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Creating a Socket on the Client Side
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 5000);
System.out.println("Connected to the server!");
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(),
out.println("Hello, Server!");
String response = in.readLine();
System.out.println("Server responded: " + response);
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Interviewer :
Interviewer : Then what port number that the client will take?
Candidate :
Datagram socket:
Candidate 1 :
Candidate 2 :