|It is currently Thu Mar 28, 2024 9:28 pm Login / Join Codemiles

Java

C/C++

PHP

C#

HTML

CSS

ASP

Javascript

JQuery

AJAX

XSD

Python

Matlab

R Scripts

Weka


artigautam
Permanent LinkPosted: Sun May 08, 2011 5:10 pm 
Offline
Newbie
Newbie
USER_AVATAR

Joined: Sun May 08, 2011 4:57 pm
Posts: 0
Blog: View Blog (1)
I ve to add 2 clients to the server,chatting between these clients will be through the server.but after running these following files only Cframe1 got connected to server but second client i.e. Clientframe1 didnt...what changes should I make to connect this second client??

Serverframe.java
Code:
import java.awt.*;
import java.applet.*;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ActionListener;
import java.net.*;
import java.io.*;
import java.lang.*;
class Serverframe extends Frame implements ActionListener
{
   Button b1,b2,b3;

   Label l1,l2,l3;

   TextField t1,t2,t3;

   TextArea t;

    boolean readSocketMem ;

    BufferedReader socketBR;


    BufferedWriter socketBW;

    Socket sref1,sref2;

   Serverframe()
   {


       setVisible(true);

      setSize(500, 500);

      setLayout(null);

      setTitle("Server Window");

      l1 = new Label("STATUS ");
      l1.setBounds(310, 50, 50, 20);
      add(l1);

   //   l1.setForeground(new Color(184, 80, 200));

      l2 = new Label("MESSAGE BOARD");
      l2.setBounds(40, 110, 120, 20);
   //   l2.setForeground(new Color(184, 80, 200));
       add(l2);

      l3 = new Label("ENTER YOUR MESSAGE");
      l3.setBounds(30, 290, 240, 20);
   //   l3.setForeground(new Color(184, 80, 200));
       add(l3);

       b1 = new Button("START");
        b1.setEnabled(true);
        add(b1);
        b1.setBounds(30, 50, 80, 24);

        b2 = new Button("STOP");
        b2.setEnabled(false) ;
        add(b2);
        b2.setBounds(180, 50, 70, 24);

        b3 = new Button("SEND");
        b3.setEnabled(false);
      add(b3);
       b3.setBounds(340, 360, 50, 24);

       t=new TextArea();
       add(t);
        t.setBounds(30, 160, 380, 130);
        t.setEditable(false);

        t1=new TextField("");
        t1.setBackground(new java.awt.Color(255, 255, 153));
        t1.setEditable(false);

        t1.setBounds(370, 50, 50, 20);
        add(t1);

        t2=new TextField("");
        t2.setBounds(30, 320, 390, 20);
      //t2.setBounds(100,100, 450, 400);
      add(t2);

       t3=new TextField("");

        t3.setBounds(30, 360, 280, 20);

        add(t3);
       b3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b3ActionPerformed(evt);
            }
        });





    b1.addActionListener(new java.awt.event.ActionListener()  {
          public void actionPerformed(java.awt.event.ActionEvent evt){
            b1ActionPerformed(evt);
          }
     });

         b2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b2ActionPerformed(evt);
            }
        });
  }

    private void b3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSendActionPerformed
       String smessg ="";
       try{
            socketBW.write(t2.getText()+"\n");
            socketBW.flush();
            smessg =t2.getText();
            t.append("Server says : " + smessg+ "\n");
            t3.setText("Message sent !!!");
        }catch(Exception ex){
         System.out.println("Send Err: ");
         ex.printStackTrace();
        }
    }
    private void b2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonDisConnectActionPerformed
        try{
         socketBW.write("Server Disconnected"+"\n");
         socketBW.flush();
         closeSocketComm();
        }catch(Exception ex){
         System.out.println("Stop Err: ");
         ex.printStackTrace();
        }
    }
    private void b1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnStartActionPerformed
        try{



              ServerSocket ss,ss1;
             ss = new ServerSocket(8080);
             ss1 = new ServerSocket(4004);
              b3.setEnabled(true) ;
                t2.setEditable(true);
                t3.setText("Plz wait .... starting server !!!");
                t1.setBackground(Color.red);

                t3.setText("Server started ...now waiting for clients");

                sref1 = ss.accept();
sref2 = ss1.accept();
                t3.setText("Client connected ...");
                t1.setBackground(Color.green);
                socketBR = new BufferedReader(new InputStreamReader(sref1.getInputStream()));
                socketBW = new BufferedWriter(new OutputStreamWriter(sref1.getOutputStream()));
                 socketBR = new BufferedReader(new InputStreamReader(sref2.getInputStream()));
                socketBW = new BufferedWriter(new OutputStreamWriter(sref2.getOutputStream()));
                b1.setEnabled(false);
                b2.setEnabled(true);
                b3.setEnabled(true);
                readSocketMem = true;

                new MessageReaderThread().start();

       }//GEN-LAST:event_btnStartActionPerformed
       catch(Exception ex){
           t3.setText("Err : Sorry, could not start server !!!");
       }
    }
    public static void main(String args[])
     {
          Serverframe s = new Serverframe();
           s.setVisible(true);

                s.setVisible(true);
             s.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e)
           {
              System.exit(0);
           }
        });
    }

    private void closeSocketComm(){
      try{
         t2.setText("");
         t2.setEditable(false);

         t3.setText("Client disconnected");

         t1.setBackground(Color.yellow);

         b2.setEnabled(false) ;
         b3.setEnabled(false) ;
            b1.setEnabled(true) ;
            sref1.close();
      }catch(Exception ex){
         System.out.println("closeSocketComm Err: ");
         ex.printStackTrace();
      }
   }
   private class MessageReaderThread extends Thread
   {
      public void run()
      {
         String msg = "";
         while(readSocketMem ==true)
         {
            try
            {
               msg  = socketBR.readLine();

               if(msg==null || msg.equals("Client Disconnected"))
               {
                  readSocketMem=false;
               }else
               {
                  t.append("Client says : " + msg + "\n");
               }
            }
            catch (Exception ex)
            {
               System.out.println("run() Err: ");
               ex.printStackTrace();
            }
         }
         closeSocketComm();
      }
   }

      public void actionPerformed(ActionEvent arg0) {
      // TODO Auto-generated method stub

   }
}
------------------------------------------------------------
Cframe1.java
import java.awt.*;
import java.lang.*;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.*;
import java.io.*;

class Cframe1 extends Frame implements ActionListener
{
   
   
   Button b1,b2,b3;
   
   Label l1,l2,l3;
   
   TextField t1,t2,t3;
   
   TextArea t;
   
    boolean readSocketMem ;
   
    BufferedReader socketBR;
   
     
    BufferedWriter socketBW;
     
    Socket sref1;
   
   Cframe1()
   {   
   
       setVisible(true);
      
      setSize(500, 500);
      
      setLayout(null);
      
      setTitle("Client Window");

      l1 = new Label("STATUS ");
      l1.setBounds(310, 50, 50, 20);
      add(l1);

   //   l1.setForeground(new Color(184, 80, 200));

      l2 = new Label("MESSAGE BOARD");
      l2.setBounds(40, 110, 120, 20);
   //   l2.setForeground(new Color(184, 80, 200));
       add(l2);

      l3 = new Label("ENTER YOUR MESSAGE");
      l3.setBounds(30, 290, 240, 20);
   //   l3.setForeground(new Color(184, 80, 200));
       add(l3);
   
       b1 = new Button("CONNECT");
        b1.setEnabled(true);
        add(b1);
        b1.setBounds(30, 50, 80, 24);
       
        b2 = new Button(" DISCONNECT ");
        b2.setEnabled(false) ;
        add(b2);
        b2.setBounds(180, 50, 70, 24);
       
        b3 = new Button("SEND");
        b3.setEnabled(false);
      add(b3);
       b3.setBounds(340, 360, 50, 24);
      
       t=new TextArea();
       add(t);
        t.setBounds(30, 160, 380, 130);
        t.setEditable(false);
       
        t1=new TextField("");
        t1.setBackground(new java.awt.Color(255, 255, 153));
        t1.setEditable(false);
       
        t1.setBounds(370, 50, 50, 20);
        add(t1);
       
       
        t2=new TextField("");
       
        t2.setBounds(30, 320, 390, 20);
        add(t2);
      //t2.setBounds(100,100, 450, 400);
      
       t3=new TextField("");
      
        t3.setBounds( 30, 360, 280, 20);
         add(t3);

       b3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b3ActionPerformed(evt);
            }
        });
       
      
      
      
      
    b1.addActionListener(new java.awt.event.ActionListener()  {
          public void actionPerformed(java.awt.event.ActionEvent evt){
            b1ActionPerformed(evt);
          }
     });
       
         b2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b2ActionPerformed(evt);
            }
        });
  }
 

     
       
private void b1ActionPerformed(java.awt.event.ActionEvent evt)
{
        try
        {       
               
               // private BufferedReader socketBR;
               // private BufferedWriter socketBW;
             t2.setEditable(true);
                t3.setText("Plz wait .... searching server !!!");
                t1.setBackground(Color.red);

                sref1 = new Socket("localhost",4004);

                t3.setText("Server found!!!");
                t1.setBackground(Color.green);
                socketBR = new BufferedReader(new InputStreamReader(sref1.getInputStream()));
                socketBW = new BufferedWriter(new OutputStreamWriter(sref1.getOutputStream()));
                b1.setEnabled(false);
                b2.setEnabled(true);
                b3.setEnabled(true);
                readSocketMem = true;
                new MessageReaderThread().start();
               
      }
       catch(Exception ex)
       {
           t3.setText("Err : Sorry, server not found !!!");
           System.out.println("Connect Err: ");
         ex.printStackTrace();
       }
  }
   
  private void b2ActionPerformed(java.awt.event.ActionEvent evt)
  {
        try
        {
         
         socketBW.write("Client Disconnected"+ "\n");
         socketBW.flush();
           closeSocketComm();
        }
        catch(Exception ex)
        {
         System.out.println("DisConnect Err: ");
         ex.printStackTrace();
        }
  }
   
  private void b3ActionPerformed(java.awt.event.ActionEvent evt)
  {
        String cmessg ="";
        try
        {
            socketBW.write(t2.getText()+"\n");
            socketBW.flush();
            cmessg =t2.getText();
            t.append("Client says : " + cmessg+ "\n");
            t3.setText("Message sent !!!");
        }catch(Exception ex)
        {
         System.out.println("Send Err: ");
         ex.printStackTrace();
        }
  }
   
    public static void main(String args[])
     {
        java.awt.EventQueue.invokeLater(new Runnable()
        {
            public void run()
             {
               Cframe1 f= new Cframe1();
                f.setVisible(true);
             f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e)
           {
              System.exit(0);
           }
        });

               
                //.setVisible(true);
             }
        });
     
     }
      private void closeSocketComm()
      {
      try
      {
          t1.setBackground(Color.yellow);
           t2.setText("");
          t2.setEditable(false);
          t3.setText("Sorry Server Disconnected!!!!");
          b1.setEnabled(true);
             b2.setEnabled(false);
             b3.setEnabled(false);
             sref1.close();
      }
      catch(Exception ex)
      {
         System.out.println("closeSocketComm Err: ");
         ex.printStackTrace();
      }
   }
     private class MessageReaderThread extends Thread
     {
      public void run()
      {
         String msg = "";
         while(readSocketMem == true)
          {
            try
            {
               msg  = socketBR.readLine();

               if(msg ==null || msg.equals("Server Disconnected")  )
               {
                  readSocketMem=false;
               }else
               {
                  t.append("Server says : " + msg + "\n");
               }
            }
            catch (Exception ex)
             {
               System.out.println("run() Err: ");
               ex.printStackTrace();
                }
         }
         closeSocketComm();
      }
    }
   public void actionPerformed(ActionEvent arg0) {
      // TODO Auto-generated method stub
      
   }
    

   
   
   
}      
      
   
------------------------------------------
Clientframe1.java
import java.awt.*;
import java.lang.*;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.*;
import java.io.*;

class Clientframe1 extends Frame implements ActionListener
{


   Button b1,b2,b3;

   Label l1,l2,l3;

   TextField t1,t2,t3;

   TextArea t;

    boolean readSocketMem ;

    BufferedReader socketBR;


    BufferedWriter socketBW;

    Socket sref2;

   Clientframe1()
   {

       setVisible(true);

      setSize(500, 500);

      setLayout(null);

      setTitle("Client Window");

      l1 = new Label("STATUS ");
      l1.setBounds(310, 50, 50, 20);
      add(l1);

   //   l1.setForeground(new Color(184, 80, 200));

      l2 = new Label("MESSAGE BOARD");
      l2.setBounds(40, 110, 120, 20);
   //   l2.setForeground(new Color(184, 80, 200));
       add(l2);

      l3 = new Label("ENTER YOUR MESSAGE");
      l3.setBounds(30, 290, 240, 20);
   //   l3.setForeground(new Color(184, 80, 200));
       add(l3);

       b1 = new Button("CONNECT");
        b1.setEnabled(true);
        add(b1);
        b1.setBounds(30, 50, 80, 24);

        b2 = new Button(" DISCONNECT ");
        b2.setEnabled(false) ;
        add(b2);
        b2.setBounds(180, 50, 70, 24);

        b3 = new Button("SEND");
        b3.setEnabled(false);
      add(b3);
       b3.setBounds(340, 360, 50, 24);

       t=new TextArea();
       add(t);
        t.setBounds(30, 160, 380, 130);
        t.setEditable(false);

        t1=new TextField("");
        t1.setBackground(new java.awt.Color(255, 255, 153));
        t1.setEditable(false);

        t1.setBounds(370, 50, 50, 20);
        add(t1);


        t2=new TextField("");

        t2.setBounds(30, 320, 390, 20);
        add(t2);
      //t2.setBounds(100,100, 450, 400);

       t3=new TextField("");

        t3.setBounds( 30, 360, 280, 20);
         add(t3);

       b3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b3ActionPerformed(evt);
            }
        });





    b1.addActionListener(new java.awt.event.ActionListener()  {
          public void actionPerformed(java.awt.event.ActionEvent evt){
            b1ActionPerformed(evt);
          }
     });

         b2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b2ActionPerformed(evt);
            }
        });
  }




private void b1ActionPerformed(java.awt.event.ActionEvent evt)
{
        try
        {

               // private BufferedReader socketBR;
               // private BufferedWriter socketBW;
             t2.setEditable(true);
                t3.setText("Plz wait .... searching server !!!");
                t1.setBackground(Color.red);

                sref2 = new Socket("localhost",8080);

                t3.setText("Server found!!!");
                t1.setBackground(Color.green);
                socketBR = new BufferedReader(new InputStreamReader(sref2.getInputStream()));
                socketBW = new BufferedWriter(new OutputStreamWriter(sref2.getOutputStream()));
                b1.setEnabled(false);
                b2.setEnabled(true);
                b3.setEnabled(true);
                readSocketMem = true;
                new MessageReaderThread().start();

      }
       catch(Exception ex)
       {
           t3.setText("Err : Sorry, server not found !!!");
           System.out.println("Connect Err: ");
         ex.printStackTrace();
       }
  }

  private void b2ActionPerformed(java.awt.event.ActionEvent evt)
  {
        try
        {

         socketBW.write("Client Disconnected"+ "\n");
         socketBW.flush();
           closeSocketComm();
        }
        catch(Exception ex)
        {
         System.out.println("DisConnect Err: ");
         ex.printStackTrace();
        }
  }

  private void b3ActionPerformed(java.awt.event.ActionEvent evt)
  {
        String cmessg ="";
        try
        {
            socketBW.write(t2.getText()+"\n");
            socketBW.flush();
            cmessg =t2.getText();
            t.append("Client says : " + cmessg+ "\n");
            t3.setText("Message sent !!!");
        }catch(Exception ex)
        {
         System.out.println("Send Err: ");
         ex.printStackTrace();
        }
  }

    public static void main(String args[])
     {
        java.awt.EventQueue.invokeLater(new Runnable()
        {
            public void run()
             {
               Clientframe1 f= new Clientframe1();
                f.setVisible(true);
             f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e)
           {
              System.exit(0);
           }
        });


                //.setVisible(true);
             }
        });

     }
      private void closeSocketComm()
      {
      try
      {
          t1.setBackground(Color.yellow);
           t2.setText("");
          t2.setEditable(false);
          t3.setText("Sorry Server Disconnected!!!!");
          b1.setEnabled(true);
             b2.setEnabled(false);
             b3.setEnabled(false);
             sref2.close();
      }
      catch(Exception ex)
      {
         System.out.println("closeSocketComm Err: ");
         ex.printStackTrace();
      }
   }
     private class MessageReaderThread extends Thread
     {
      public void run()
      {
         String msg = "";
         while(readSocketMem == true)
          {
            try
            {
               msg  = socketBR.readLine();

               if(msg ==null || msg.equals("Server Disconnected")  )
               {
                  readSocketMem=false;
               }else
               {
                  t.append("Server says : " + msg + "\n");
               }
            }
            catch (Exception ex)
             {
               System.out.println("run() Err: ");
               ex.printStackTrace();
                }
         }
         closeSocketComm();
      }
    }
   public void actionPerformed(ActionEvent arg0) {
      // TODO Auto-generated method stub

   }





}


Last edited by DrRakha on Wed May 25, 2011 8:00 pm, edited 1 time in total.


Top
 Profile  
 


All times are UTC [ DST ]









Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All copyrights reserved to codemiles.com 2007-2011
mileX v1.0 designed by codemiles team
Codemiles.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com