In this Program we need two Java Classes Named:-
1. Client.java
2. Server.java
Program:-
Client.java:-
package com.gpm.tcp_client_server;
import java.io.*;
import java.net.*;
public class Client
{
private Socket client_socket = null;
private DataOutputStream output_stream = null;
private DataInputStream input_stream = null;
public Client(String host_address, int port_number) throws
UnknownHostException,IOException{
try{
//socket initialization
client_socket = new Socket(host_address,port_number);
System.out.println("Connected to Server");
output_stream = new DataOutputStream(client_socket.getOutputStream());
//client to server communication
System.out.println("Sending message to server >>");
output_stream.writeUTF("Hello Server ..!!!");
//Server to client communication
System.out.println("Accepting message from server >>");
input_stream = new DataInputStream(client_socket.getInputStream());
String message = input_stream.readUTF().toString();
System.out.println(message);
//Closing connections
output_stream.close();
client_socket.close();
input_stream.close();
}
catch(UnknownHostException e)
{ System.out.println(e); }
catch(IOException e)
{ System.out.println(e); }
}
public static void main(String args[])
{
try
{
//local host address
String host_address = "127.0.1.1";
Client client = new Client(host_address,6060);
}
catch(UnknownHostException e)
{ System.out.println(e); }
catch(IOException e)
{ System.out.println(e); }
}
Server.java:-
package com.gpm.tcp_client_server;
import java.io.*;
import java.net.*;
public class Server
{
private ServerSocket server_socket = null;
private Socket client_socket =null;
private DataInputStream input_stream = null;
private DataOutputStream output_stream = null;
public Server(int port_number)
{
try
{
//Initialization of server side socket
server_socket = new ServerSocket(port_number);
System.out.println("Server started >>");
System.out.println("Waiting for a client >>");
client_socket = server_socket.accept();
System.out.println("Client accepted");
//Receiving message from client socket
input_stream =new DataInputStream(new
BufferedInputStream(client_socket.getInputStream()));
String message = input_stream.readUTF();
System.out.println(message);
//Sending reply to client
output_stream = new DataOutputStream(client_socket.getOutputStream());
System.out.println("Sending reply to client >>");
output_stream.writeUTF("Hello Client...!!");
//Closing connections
client_socket.close();
input_stream.close();
output_stream.close();
}
catch(IOException e)
{ System.out.println(e); }
}
public static void main(String args[])
{
Server server = new Server(6060);
}
}
Output:-
Client:-
Server:-