Open In App

Creating a Socket to Display Message to a Single Client in Java

Last Updated : 25 Mar, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

This article describes the basic client-server connection where a client connects, a server sends a message to the client and the client displays the message using a socket connection. A client program sockets establish a connection with the server socket of server application then server socket connects with internal sockets in the server application.

Client-Side Program

Client program uses Socket class to establish a connection with a server. Socket object needs the address of the server and the port number of the server.

Java




// Client program
 
import java.io.*;
import java.net.*;
 
class GFG {
   
    // driver function
    public static void main(String[] args)
    {
        try {
           
            // Create socket object by passing id address
            // and port number establish connection
            Socket socket = new Socket("localhost", 1346);
            System.out.println(
                "Connected Successfully.....");
 
            // Buffer reader to get all the input stream
            BufferedReader bs = new BufferedReader(
                new InputStreamReader(socket.getInputStream()));
            System.out.println("Response from Server.....");
 
            // Print response from server
            System.out.println("Client Side : "
                               + bs.readLine());
            // Close the connection
            socket.close();
        }
        catch (UnknownHostException e) {
        
            // Catch block for IP errors
            System.out.println("IP not found for" + e);
        }
        catch (IOException e) {
           
            // Catch block for data stream errors
            System.out.println("Not found data for socket"
                               + e);
        }
    }
}


Server-Side Program

Server program uses a Server Socket class to establish a connection with the client. Server Socket object needs the port number.

Java




// Server program
 
import java.io.*;
import java.net.*;
 
class GFG {
    public static void main(String[] args)
    {
        try {
           
            // establish connection
            ServerSocket serversocket
                = new ServerSocket(1346);
 
            System.out.println("waiting for request....");
 
            // Socket object to accept all the connections
            Socket socket = serversocket.accept();
 
            System.out.println("Request Accepted...");
           
            // Printstream to print all the data
            PrintStream ps
                = new PrintStream(socket.getOutputStream());
 
            BufferedReader br = new BufferedReader(
                new InputStreamReader(System.in));
           
            System.out.println(
                "Input the data at the server...");
           
            // Printing bufferedreader data
            ps.print(br.readLine());
            socket.close();
            serversocket.close();
        }
        catch (IOException e) {
           
            // Catch block for data stream errors
            System.out.println("Not found data for socket"
                               + e);
        }
    }
}




Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads