Solved

Showing the connection status on server side interface  and also adding images to client side interface

Posted on 2004-10-05
2
228 Views
Last Modified: 2010-03-31
Here are my client side and server side codes.Can any one integrate a code into it.where after connecting  client to server. The status on the server side interface (in text box) is shown as connected else disconnected. and here program shows on clients side the temperature,cloud condition, etc..can any one add images on side of those labels ..eg for skies ..small icon of clouds..temperature..image of sun ...etc..
-------------
server code
.........................
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Server extends JFrame
{


      private JTextField textConnection;
      private JLabel labelConnection;


     public Server()

     {

             Container container = getContentPane() ;
             container.setLayout(new FlowLayout());

             labelConnection = new JLabel("Connection ") ;
             container.add(labelConnection );
             textConnection = new JTextField(15) ;
             container.add(textConnection);

            setSize ( 200,400) ;
            setVisible(true);

          try
          {
               //creating server socket binding at port # 3000
               ServerSocket server=new ServerSocket(3000);
               System.out.println("Server binded at "+((server.getInetAddress()).getLocalHost()).getHostAddress()+":3000");
               System.out.println("Run the Client");
               //ready to accept client request
               Socket socket=server.accept();
               //opening the input stream to read data from client connection
               BufferedReader in= new BufferedReader(new InputStreamReader(socket.getInputStream()));
               System.out.println(in.readLine());
               //using output stream responsing data
               DataOutputStream out=new DataOutputStream(socket.getOutputStream());
               while (true)
               {
                  for (int i=0; i<8; i++)
                  {
                      int s =(int)(Math.random()*10);
                      out.writeInt((s*10)+20);
                  }
                  out.flush();
               }
               //closing the in & out streams
                     //out.close
            //   in.close();
          }
          catch(Exception err)
          {
               System.err.println("* err"+err);
          }

     }

     public static void main(String a[])
     {
          new Server();
     }

}

client side code
.................................
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Client extends JFrame

{
     private JTextField textsky,texttemp,texthumidity,textwindspeed,textbarometer,textdew,textheat,textvisibility;
     private JLabel labelsky,labeltemp,labelhumidity,labelwindspeed,labelbarometer,labeldew,labelheat,labelvisibility;

     public Client()
     {
                        Container container = getContentPane() ;
                        container.setLayout(new FlowLayout());


                         labelsky = new JLabel("Sky ") ;
                         container.add(labelsky );
                         textsky = new JTextField(15) ;
                        container.add(textsky);


                        labeltemp = new JLabel("Temp ") ;
                        container.add(labeltemp );
                        texttemp = new JTextField(15) ;
                        container.add(texttemp );



                        labelhumidity = new JLabel("Humidity ") ;
                        container.add(labelhumidity );
                        texthumidity = new JTextField(15) ;
                        container.add(texthumidity );

                        labelwindspeed = new JLabel("Wind speed ") ;
                        container.add(labelwindspeed );
                        textwindspeed = new JTextField(15) ;
                        container.add(textwindspeed );

                        labelbarometer = new JLabel("Barometer ") ;
                        container.add(labelbarometer );
                        textbarometer = new JTextField(15) ;
                        container.add(textbarometer );

                        labeldew = new JLabel("Dew ") ;
                        container.add(labeldew );
                        textdew = new JTextField(15) ;
                        container.add(textdew );

                        labelheat = new JLabel("Heat ") ;
                        container.add(labelheat );
                        textheat = new JTextField(15) ;
                        container.add(textheat );

                        labelvisibility = new JLabel("Visibillity ") ;
                        container.add(labelvisibility );
                        textvisibility = new JTextField(15) ;
                        container.add(textvisibility );

                        setSize ( 200,600) ;
                        setVisible(true);

          try
          {
               //ceating the socket to connect to server running on same machine binded on port no 3000
               Socket client=new Socket("localhost",3000);
               System.out.println("Client connected ");

               //getting the o/p stream of that connection
               PrintStream out=new PrintStream(client.getOutputStream());
               //sending the message to server
               out.print("Hello from client\n");
               out.flush();
               //reading the response using input stream
               DataInputStream in= new DataInputStream(client.getInputStream());
               while (true)
               {
                           if(in.readInt()>20 && in.readInt()<40)
                  textsky.setText("Sky Condition: "+"Clear");
                              else
                          textsky.setText("Sky Condition: "+"Cloudy");
                  texttemp.setText("Temperature: "+in.readInt());
                  texthumidity.setText("Humidity: "+in.readInt());
                  textwindspeed.setText("Wind Speed: "+in.readInt());
                  textbarometer.setText("Barometer: "+in.readInt());
                  textdew.setText("Dewpoint: "+in.readInt());
                  textheat.setText("Heat Index: "+in.readInt());
                  textvisibility.setText("Visibility: "+in.readInt());
                  Thread.sleep(5000);
               }

               //closing the streams
               //in.close();
               //out.close();

          }
          catch(Exception err)
          {
               System.err.println("* err"+err);
          }

     }

     public static void main(String a[])
     {
          new Client();
     }

}
0
Comment
Question by:prashanth_gurijala
  • 2
2 Comments
 
LVL 2

Accepted Solution

by:
ThummalaRaghuveer earned 500 total points
ID: 12232474
Following code at server will do for showing status.......


import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Server extends JFrame
{


     private JTextField textConnection;
     private JLabel labelConnection;
     Container container = null;


     public Server()

     {

           container = getContentPane() ;
           container.setLayout(new FlowLayout());

           labelConnection = new JLabel("Connection ") ;
           container.add(labelConnection );
           textConnection = new JTextField(15) ;
           container.add(textConnection);
           textConnection.setText("Disconnected");

          setSize ( 200,400) ;
          setVisible(true);

          try
          {
               //creating server socket binding at port # 3000
               ServerSocket server=new ServerSocket(3000);
               System.out.println("Server binded at "+((server.getInetAddress()).getLocalHost()).getHostAddress()+":3000");
               System.out.println("Run the Client");
               //ready to accept client request
               Socket socket=server.accept();
               textConnection.cut();
               textConnection.setText("Connected\n");
               
               
               //opening the input stream to read data from client connection
               BufferedReader in= new BufferedReader(new InputStreamReader(socket.getInputStream()));
               System.out.println(in.readLine());
               //using output stream responsing data
               DataOutputStream out=new DataOutputStream(socket.getOutputStream());
               while (true)
               {
                  for (int i=0; i<8; i++)
                  {
                      int s =(int)(Math.random()*10);
                      out.writeInt((s*10)+20);
                  }
                  out.flush();
               }
               //closing the in & out streams
                  //out.close
            //   in.close();
          }
          catch(Exception err)
          {
               System.err.println("* err"+err);
               textConnection.cut();
               textConnection.setText("Disconnected\n");
          }

     }

     public static void main(String a[])
     {
          new Server();
     }

}
0
 
LVL 2

Expert Comment

by:ThummalaRaghuveer
ID: 12232662
U do not need textConnection.cut() method and also the \n after every message
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question