Client Server application code

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mark10
    New Member
    • Oct 2006
    • 1

    #1

    Client Server application code

    Hello!I am new in this site and wish to improve my java clent server application code.It's to connect the client to the server through a port and random jokes request by the client to the server be sent to the client.

    Thanks
  • horace1
    Recognized Expert Top Contributor
    • Nov 2006
    • 1510

    #2
    a simple server which waits for message from a client
    Code:
    // server which waits for messages from a client
    import java.io.*;
    import java.util.*;
    import java.net.*;
    
    
    public class TCPserver extends Thread
    {
            private ServerSocket   serverSocket;
            ObjectInputStream br=null;
            ObjectOutputStream pw=null;
            int receivePort;                // port to receive  from
            boolean threadRunning = true;   // flag to terminate thread
    
            TCPserver(int receivePort)    // constructor to receive datagrams on port receivePort
        {
                    this.receivePort = receivePort;
        }
    
            // terminate the thread by setting flag
            public void stopTCPserver()
            {
                    threadRunning = false;
            }
    
            public void run()                // thread run method, receives and buffers datagrams
            {
              Socket socket=null;
              try
                  {
                  while (threadRunning)
                  {
                      System.out.println("TCP server starting: IP address " 
                           + InetAddress.getLocalHost().toString() + " port " + receivePort );
                      serverSocket = new ServerSocket(receivePort);
                      socket = serverSocket.accept(); // Wait for client to connect.
                      System.out.println("Client connect from IP address " + socket.getInetAddress()
                                      + " port " + socket.getPort());
                      br  = new ObjectInputStream( ( socket.getInputStream() ) );
                      pw = new ObjectOutputStream( socket.getOutputStream() );
                      while(threadRunning)
                        try
                        {
                          String code = (String) br.readObject();
                          System.out.println( "Server received string: '" + code + "'");
                        }
                        catch (Exception se) {System.err.println("done"); break;}
                      serverSocket.close();
                    }
                  }
              catch (Exception se) {System.err.println("run() " + se); }
         
              System.exit(1);                                                 // exit on failure
            }
    
    
    public static void main(String args[])
    {
            int receivePort=9000;                                 // port to receive datagrams on
            TCPserver frameInput = new TCPserver(receivePort);    // create server to receive messages
            frameInput.start();                                   // and start it
            System.out.println("ready to receive datagrams from socket " + receivePort);
            }
    
    }
    a simple client which sends messages entered at keyboard to the server
    Code:
    // client which sends a message to a server using TCP
    
    import java.io.*;
    import java.util.*;
    import java.net.*;
    
    public class TCPclient
    {
    
            static void sendString(String remoteIPaddress, int remotePort)
            {
            Socket         socket1;        // To server.
            ObjectOutputStream        objOut;        // To write to server.
                    try
                    {
                     socket1 = new Socket( remoteIPaddress, remotePort );   
                     objOut = new ObjectOutputStream( socket1.getOutputStream() );
                     System.out.println("Server contacted OK sending " );
                     while(true)
                       {
                         String s = in.readLine();
                         objOut.writeObject(s);         // send message three times
                       }  // end try
                    }
                    catch (UnknownHostException e) {System.err.println("SendString " +  e); }
                    catch (SocketException se) {System.err.println("SendString " +  se); }
                    catch (IOException e) {System.err.println("SendString " +  e); }
            }
    
      private final static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    public static void main(String args[])
    {
       System.out.println("enter message to send to server");
       TCPclient.sendString("127.0.0.1", 9000);
    }
    
    }
    1. compile the server and run it
    2. compile the client and run it
    3. message typed in a client appear at server

    Comment

    Working...