الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

client/server

مغلق
بدأه software في 15 ديسمبر 2003 · 5 رد · 862 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هلا جميع ...

كيف ممكن انى اخلي الكلاينت يرسل ارقام ( انتجر فاليوا ) .. للسيرفر ... ويقوم السيرفر بجمع هذه الارقام .... ؟!

المكشله عندي فقط في عميله الجمع .... مب عارفه كيف اضبطها ..... بليز ممكن حد يشوفلي حل .... ؟!

هذا هوه جزء من الكود ياريت اذا ممكن اي شخص يقدر يعدل عليه ... ومشكورين ... :)

private void processConnection() throws IOException
   {
    int getNum, total=0;
      // send connection successful message to client
      String message = "SERVER>>> Connection successful";
      output.writeObject( message );
      output.flush();

      // enable enterField so server user can send messages
      enterField.setEnabled( true );

      // process messages sent from client
      do {

         // read message and display it
         try {
            message = ( String ) input.readObject();
            displayArea.append( "\n" + message );

            getNum = Integer.parseInt( message);

    total = total + getNum;
    output.writeObject(Integer.toString(total));
    output.flush();

            displayArea.setCaretPosition(
               displayArea.getText().length() );
         }

         // catch problems reading from client
         catch ( ClassNotFoundException classNotFoundException ) {
            displayArea.append( "\nUnknown object type received" );
         }
         catch (ArithmeticException wrongFormat) {
    displayArea.append("\nwrong object format, not numbers! final total=" + total);
  }

      } while ( !message.equals( "CLIENT>>> TERMINATE" ) );
   }

تم تعديل هذه المشاركة بواسطة software في 15 ديسمبر 2003 في 21:58

:: اللهم اغفر لي ولوالدي .. وللمسلمين والمسلمات .. ااحياء والاموات منهم .. ::

#2

انا لم اطلع على الكود بعد و لكن هذا ردي السريع اختي....

لماذا لا تسعملي الحزمة ipworks فهي مفيدة جدا و تصلح للعديد من الاستعمالات

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#3

وش المشكله بالضبط؟

#4

إذا ممكن أرسلي الكود بشكل كامل إلى المنتدى لأعرف أين الخطأ إن شاء الله

أو أرسليه على عنواني mohannad14@lycos.com

#5

سوري ياجماعه المشكله كانت عندي باللاب توب ... لان البورت كان محجور للكمبيوتر ... والبرنامج الحين شغال ... وهذا هوه للى يريده ..

هذا كود السيرفر ...

// Java core packages
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;

// Java extension packages
import javax.swing.*;

public class Server extends JFrame {
   private JTextField enterField;
   private JTextArea displayArea;
   private ObjectOutputStream output;
   private ObjectInputStream input;
   private ServerSocket server;
   private Socket connection;
   private int counter = 1;

   // set up GUI ===========================================================================
   public Server()
   {
      super( "Server" );

      Container container = getContentPane();

      // create enterField and register listener
      enterField = new JTextField();
      enterField.setEnabled( false );

      enterField.addActionListener(

         new ActionListener() {

            // send message to client
            public void actionPerformed( ActionEvent event )
            {
               sendData( event.getActionCommand() );
            }

         }  // end anonymous inner class

      ); // end call to addActionListener

      container.add( enterField, BorderLayout.NORTH );

      // create displayArea
      displayArea = new JTextArea();
      container.add( new JScrollPane( displayArea ),
         BorderLayout.CENTER );

      setSize( 300, 150 );
      setVisible( true );
   }

   // set up and run server ===========================================================================
   public void runServer()
   {
      // set up server to receive connections;
      // process connections
      try {

         // Step 1: Create a ServerSocket.
         server = new ServerSocket( 4422, 100 );

         while ( true ) {

            // Step 2: Wait for a connection.
            waitForConnection();

            // Step 3: Get input and output streams.
            getStreams();

            // Step 4: Process connection.
            processConnection();

            // Step 5: Close connection.
            closeConnection();

            ++counter;
         }
      }

      // process EOFException when client closes connection
      catch ( EOFException eofException ) {
         System.out.println( "Client terminated connection" );
      }

      // process problems with I/O
      catch ( IOException ioException ) {
         ioException.printStackTrace();
      }
   }

   // wait for connection to arrive, then display connection info ==================================
   private void waitForConnection() throws IOException
   {
      displayArea.setText( "Waiting for connection\n" );

      // allow server to accept a connection
      connection = server.accept();

      displayArea.append( "Connection " + counter +
         " received from: " +
         connection.getInetAddress().getHostName() );
   }

   // get streams to send and receive data ==========================================================
   private void getStreams() throws IOException
   {
      // set up output stream for objects
      output = new ObjectOutputStream(
         connection.getOutputStream() );

      // flush output buffer to send header information
      output.flush();

      // set up input stream for objects
      input = new ObjectInputStream(
         connection.getInputStream() );

      displayArea.append( "\nGot I/O streams\n" );
   }

   // process connection with client ================================================================
   private void processConnection() throws IOException
   {
    int getNum, total=0;
      // send connection successful message to client
      String message = "SERVER>>> Connection successful";
      output.writeObject( message );
      output.flush();

      // enable enterField so server user can send messages
      enterField.setEnabled( true );

      // process messages sent from client
      do {

         // read message and display it
         try {
            message = ( String ) input.readObject();
            displayArea.append( "\n CLIENT>>>" + message );

            getNum = Integer.parseInt( message);

 	 //getNum = ((Integer)input.readObject()).intValue();
    total = total + getNum;
    output.writeObject( total + "");
    displayArea.append("\nServer ->" + total);
    output.flush();

            displayArea.setCaretPosition(
               displayArea.getText().length() );
         }

         // catch problems reading from client
         catch ( ClassNotFoundException classNotFoundException ) {
            displayArea.append( "\nUnknown object type received" );
         }
         catch (NumberFormatException wrongFormat) {
    displayArea.append("\nwrong object format, not numbers! final total=" + total);
  }

      } while ( !message.equals( "CLIENT>>> TERMINATE" ) );
   }

   // close streams and socket =======================================================================
   private void closeConnection() throws IOException
   {
      displayArea.append( "\nUser terminated connection" );
      enterField.setEnabled( false );
      output.close();
      input.close();
      connection.close();
   }

   // send message to client =========================================================================
   private void sendData( String message )
   {
      // send object to client
      try {
         output.writeObject( "SERVER>>> " + message );
         output.flush();
         displayArea.append( "\nSERVER>>>" + message );
      }

      // process problems sending object
      catch ( IOException ioException ) {
         displayArea.append( "\nError writing object" );
      }
   }

   // execute application ===========================================================================
   public static void main( String args[] )
   {
      Server application = new Server();

      application.setDefaultCloseOperation(
         JFrame.EXIT_ON_CLOSE );

      application.runServer();
   }

}  // end class Server

:: اللهم اغفر لي ولوالدي .. وللمسلمين والمسلمات .. ااحياء والاموات منهم .. ::

#6

وهذا كود الكلاينت ...

// Java core packages
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;

// Java extension packages
import javax.swing.*;

public class Client extends JFrame {
   private JTextField enterField;
   private JTextArea displayArea;
   private ObjectOutputStream output;
   private ObjectInputStream input;
   private String message = "";
   private String chatServer;
   private Socket client;

// initialize chatServer and set up GUI ==============================================================
   public Client( String host )
   {
      super( "Client" );

      // set server to which this client connects
      chatServer = host;

      Container container = getContentPane();

      // create enterField and register listener
      enterField = new JTextField();
      enterField.setEnabled( false );

      enterField.addActionListener(

         new ActionListener() {

            // send message to server
            public void actionPerformed( ActionEvent event )
            {
               sendData( event.getActionCommand() );
            }

         }  // end anonymous inner class

      ); // end call to addActionListener

      container.add( enterField, BorderLayout.NORTH );

      // create displayArea
      displayArea = new JTextArea();
      container.add( new JScrollPane( displayArea ),
         BorderLayout.CENTER );

      setSize( 300, 150 );
      setVisible( true );
   }

// connect to server and process messages from server================================================
   public void runClient()
   {
      // connect to server, get streams, process connection
      try {

         // Step 1: Create a Socket to make connection
         connectToServer();

         // Step 2: Get the input and output streams
         getStreams();

         // Step 3: Process connection
         processConnection();

         // Step 4: Close connection
         closeConnection();
      }

      // server closed connection
      catch ( EOFException eofException ) {
         System.out.println( "Server terminated connection" );
      }

      // process problems communicating with server
      catch ( IOException ioException ) {
         ioException.printStackTrace();
      }
   }

// get streams to send and receive data ==============================================================
   private void getStreams() throws IOException
   {
      // set up output stream for objects
      output = new ObjectOutputStream(
         client.getOutputStream() );

      // flush output buffer to send header information
      output.flush();

      // set up input stream for objects
      input = new ObjectInputStream(
         client.getInputStream() );

      displayArea.append( "\nGot I/O streams\n" );
   }

// connect to server =================================================================================
   private void connectToServer() throws IOException
   {
      displayArea.setText( "Attempting connection\n" );

      // create Socket to make connection to server
      client = new Socket(
         InetAddress.getLocalHost(), 4422 );

      // display connection information
      displayArea.append( "Connected to: " +
         client.getInetAddress().getHostName() );
   }

// process connection with server ====================================================================
   private void processConnection() throws IOException
   {

      // enable enterField so client user can send messages
      enterField.setEnabled( true );

      // process messages sent from server
      do {

         // read message and display it
         try {
            message = ( String ) input.readObject();
            displayArea.append( "\n" + message );
            displayArea.setCaretPosition(
               displayArea.getText().length() );
         }

         // catch problems reading from server
         catch ( ClassNotFoundException classNotFoundException ) {
            displayArea.append( "\nUnknown object type received" );
         }

      } while ( !message.equals( "SERVER>>> TERMINATE" ) );

   }  // end method process connection

// close streams and socket ==========================================================================
   private void closeConnection() throws IOException
   {
      displayArea.append( "\nClosing connection" );
      output.close();
      input.close();@
      client.close();
   }

// send message to server ============================================================================
   private void sendData( String message )
   {
      // send object to server
      try {
         output.writeObject( message );
         output.flush();
         displayArea.append( "\nCLIENT>>>" + message );
      }

      // process problems sending object
      catch ( IOException ioException ) {
         displayArea.append( "\nError writing object" );
      }
   }

// execute application ==============================================================================
   public static void main( String args[] )
   {
      Client application;

      if ( args.length == 0 )
         application = new Client( "217.0.0.1" );
      else
         application = new Client( args[ 0 ] );

      application.setDefaultCloseOperation(
         JFrame.EXIT_ON_CLOSE );

      application.runClient();
   }

}  // end class Client

:: اللهم اغفر لي ولوالدي .. وللمسلمين والمسلمات .. ااحياء والاموات منهم .. ::

هذا الموضوع مغلق.

مواضيع مشابهة