0

I am trying to build a simple client server application in which the server should return the working directory.

I am very beginner in Java networking and at the moment I only know how to send a message to the server and display that into the server window. Now I have no idea how can I jump on the next challenging level to print out the server's working directory.

I should use the following example to specify these commands and their responses.

Print the working directory on the server: Client request command:

format (syntax): pwd CRLF

CRLF

where pwd is the keyword to indicate the command; CRLF are characters for carriage return and new line. Only one header line and empty body part in the request message.

meaning(semantics): ask the server to tell the working directory

representation: a line of text string

Server response message:

format (syntax): Status OK CRLF

Lines 1 CRLF

CRLF

working directory path name CRLF that is the response message contains a header line for status, a header for telling number of text lines in the body

meaning(semantics): the current working directory on the server

representation: a line of text string

I already have built an application that looks like this:

    package clients;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.sql.DriverManager;
import java.util.logging.Level;
import java.util.logging.Logger;

public class ClientSide {

    public static void main(String[] args) {

        try {
            Socket soc=new Socket("localhost",8000);
 PrintStream  ps=new PrintStream(soc.getOutputStream());
            System.out.println("Enter a message to the server: ");
            InputStreamReader isr=new InputStreamReader(System.in);
            BufferedReader br=new BufferedReader(isr);
            String temp=br.readLine();
            ps.println(temp);
       } catch (IOException ex) {
            Logger.getLogger(ClientSide.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

}



    package serverr;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerrSide {

    public static void main(String[] args) {
        try {
               ServerSocket ss=new ServerSocket(8000);
               Socket s=ss.accept();
               BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
               String receivedData=br.readLine();
               System.out.println("The client says: "+receivedData);
        } catch (Exception e) {
        }


    }

}
Riyana
  • 241
  • 13
  • 29
  • This boils down to: Use `System.getProperty("user.dir")` as stated in the duplicate question. Networking is not involved in this at all. – Luiggi Mendoza Jan 30 '15 at 21:00
  • Luiggi Mendoza, I don't know what you meant and the reason for duplicating my post. Look, mine is a client-server issue. But System.getProperty("user.dir")-this only prints the user directory of localhost, right? I guess, I shouldn't have posted such a controversial and big question. However, I would be happy if I get some some non-technical procedures to follow in order to complete my task. – Riyana Jan 30 '15 at 21:07

0 Answers0