Monday 28 January 2013

TCP Client & Server Program in Java

// --------------TCPServer.java

import java.io.*;
import java.net.*;

class TCPServer
{

   public static void main(String argv[]) throws Exception
      {
         String clientSentence;
         String capitalizedSentence;
         ServerSocket welcomeSocket = new ServerSocket(6789);
   
         // get self IP address and subnet mask
          InetAddress localHost = Inet4Address.getLocalHost();
          NetworkInterface networkInterface = NetworkInterface.getByInetAddress(localHost);
          String ipAddress = localHost.getHostAddress();
          String subnetMask = "/"+networkInterface.getInterfaceAddresses().get(0).getNetworkPrefixLength();
          System.out.println(ipAddress + subnetMask);

          while (true) {
              Socket connectionSocket = welcomeSocket.accept();
              // get client ip address
              System.out.print(connectionSocket.getInetAddress().getHostAddress());
              BufferedReader inFromClient =
                      new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
            DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
            clientSentence = inFromClient.readLine();
            System.out.println("Received: " + clientSentence);
            capitalizedSentence = clientSentence.toUpperCase() + '\n';
            outToClient.writeBytes(capitalizedSentence);
         }
      }
}


=======================================================================


// ------------------------TCPClient.java

import java.io.*;
import java.net.*;

class TCPClient
{
 public static void main(String argv[]) throws Exception
 {
  String sentence;
  String modifiedSentence;
  BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in));
  Socket clientSocket = new Socket("localhost", 6789);
  DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
  BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  sentence = inFromUser.readLine();
  outToServer.writeBytes(sentence + '\n');
  modifiedSentence = inFromServer.readLine();
  System.out.println("FROM SERVER: " + modifiedSentence);
  clientSocket.close();
 }
}


No comments:

Post a Comment