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 programimport 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 programimport 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); } }} |

