TCP/IP Server Sockets in Java
🌐 TCP/IP Server Sockets in Java

🧠 What are TCP/IP Sockets?

A Socket is an endpoint for communication between two programs over a network. TCP (Transmission Control Protocol) ensures reliable and ordered data transfer, while IP (Internet Protocol) handles addressing and routing.

⚙️ How TCP/IP Communication Works

  1. Server creates a ServerSocket and listens on a port.
  2. Client connects using Socket.
  3. They exchange data via input/output streams.
  4. Connection closes after communication.

📊 Concept Diagram

+————-+ <—- TCP/IP —-> +————-+
| Client | | Server |
| Socket | | ServerSocket|
+————-+ +————-+

✅ Easy Java Server Code


// SimpleServer.java
import java.io.*;
import java.net.*;

public class SimpleServer {
    public static void main(String[] args) {
        try {
            ServerSocket ss = new ServerSocket(5000);
            System.out.println("Server is waiting for client...");

            Socket s = ss.accept();
            System.out.println("Client connected.");

            BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
            PrintWriter out = new PrintWriter(s.getOutputStream(), true);

            String msg = in.readLine();
            System.out.println("Client says: " + msg);

            out.println("Hello from Server!");

            s.close();
            ss.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}
    

✅ Easy Java Client Code


// SimpleClient.java
import java.io.*;
import java.net.*;

public class SimpleClient {
    public static void main(String[] args) {
        try {
            Socket s = new Socket("localhost", 5000);

            BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
            PrintWriter out = new PrintWriter(s.getOutputStream(), true);
            BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));

            System.out.print("Enter a message for server: ");
            String msg = input.readLine();

            out.println(msg);
            String reply = in.readLine();
            System.out.println("Server says: " + reply);

            s.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}
    

🚀 How to Run

  • Compile both programs: javac SimpleServer.java SimpleClient.java
  • Run the server first: java SimpleServer
  • Then run the client: java SimpleClient
  • Type a message and see the exchange!

Leave a Reply

Your email address will not be published. Required fields are marked *